Date: (Tue) Jun 09, 2015
Data: Source: Training: https://courses.edx.org/asset-v1:MITx+15.071x_2a+2T2015+type@asset+block/mvtWeek1.csv
New:
Time period:
Based on analysis utilizing <> techniques,
Use plot.ly for interactive plots ?
varImp for randomForest crashes in caret version:6.0.41 -> submit bug report
extensions toward multiclass classification are scheduled for the next release
glm_dmy_mdl should use the same method as glm_sel_mdl until custom dummy classifer is implemented
rm(list=ls())
set.seed(12345)
options(stringsAsFactors=FALSE)
source("~/Dropbox/datascience/R/myscript.R")
source("~/Dropbox/datascience/R/mydsutils.R")
## Loading required package: caret
## Loading required package: lattice
## Loading required package: ggplot2
source("~/Dropbox/datascience/R/myplot.R")
source("~/Dropbox/datascience/R/mypetrinet.R")
source("~/Dropbox/datascience/R/myplclust.R")
# Gather all package requirements here
suppressPackageStartupMessages(require(doMC))
registerDoMC(4) # max(length(glb_txt_vars), glb_n_cv_folds) + 1
#packageVersion("snow")
#require(sos); findFn("cosine", maxPages=2, sortby="MaxScore")
# Analysis control global variables
glb_trnng_url <- "https://courses.edx.org/asset-v1:MITx+15.071x_2a+2T2015+type@asset+block/mvtWeek1.csv"
glb_newdt_url <- "<newdt_url>"
glb_out_pfx <- "Chicago2_"
glb_save_envir <- FALSE # or TRUE
glb_is_separate_newent_dataset <- FALSE # or TRUE
glb_split_entity_newent_datasets <- TRUE # or FALSE
glb_split_newdata_method <- "sample" # "condition" or "sample" or "copy"
glb_split_newdata_condition <- "<col_name> <condition_operator> <value>" # or NULL
glb_split_newdata_size_ratio <- 0.3 # > 0 & < 1
glb_split_sample.seed <- 123 # or any integer
glb_drop_vars <- c(NULL) # or c("<col_name>")
glb_max_fitent_obs <- NULL # or any integer
glb_is_regression <- FALSE; glb_is_classification <- TRUE; glb_is_binomial <- TRUE
glb_rsp_var_raw <- "Arrest"
# for classification, the response variable has to be a factor
glb_rsp_var <- "Arrest.fctr" # or glb_rsp_var_raw
# if the response factor is based on numbers/logicals e.g (0/1 OR TRUE/FALSE vs. "A"/"B"),
# caret predict(..., type="prob") crashes
glb_map_rsp_raw_to_var <- function(raw) {
relevel(factor(ifelse(raw == TRUE, "T", "F")), as.factor(c("T", "F")), ref="F")
#as.factor(paste0("B", raw))
#as.factor(raw)
}
glb_map_rsp_raw_to_var(c(TRUE, TRUE, FALSE, FALSE, FALSE))
## [1] T T F F F
## Levels: F T
glb_map_rsp_var_to_raw <- function(var) {
#as.numeric(var) - 1
#as.numeric(var)
#levels(var)[as.numeric(var)]
#c(" <=50K", " >50K")[as.numeric(var)]
c(FALSE, TRUE)[as.numeric(var)]
}
glb_map_rsp_var_to_raw(glb_map_rsp_raw_to_var(c(TRUE, TRUE, FALSE, FALSE, FALSE)))
## [1] TRUE TRUE FALSE FALSE FALSE
if ((glb_rsp_var != glb_rsp_var_raw) & is.null(glb_map_rsp_raw_to_var))
stop("glb_map_rsp_raw_to_var function expected")
glb_rsp_var_out <- paste0(glb_rsp_var, ".predict.") # model_id is appended later
# List info gathered for various columns
# <col_name>: <description>; <notes>
# ID: a unique identifier for each observation
# Date: the date the crime occurred
# LocationDescription: the location where the crime occurred
# Arrest: whether or not an arrest was made for the crime (TRUE if an arrest was made, and FALSE if an arrest was not made)
# Domestic: whether or not the crime was a domestic crime, meaning that it was committed against a family member (TRUE if it was domestic, and FALSE if it was not domestic)
# Beat: the area, or "beat" in which the crime occurred. This is the smallest regional division defined by the Chicago police department.
# District: the police district in which the crime occured. Each district is composed of many beats, and are defined by the Chicago Police Department.
# CommunityArea: the community area in which the crime occurred. Since the 1920s, Chicago has been divided into what are called "community areas", of which there are now 77. The community areas were devised in an attempt to create socially homogeneous regions.
# Year: the year in which the crime occurred.
# Latitude: the latitude of the location at which the crime occurred.
# Longitude: the longitude of the location at which the crime occurred.
glb_id_vars <- c("ID")
glb_category_vars <- NULL # or c("<var1>", "<var2>")
glb_date_vars <- c("Date")
glb_txt_vars <- NULL # or c("<txt_var1>", "<txt_var2>")
#Sys.setlocale("LC_ALL", "C") # For english
glb_append_stop_words <- list()
# Remember to use unstemmed words
#orderBy(~ -cor.y.abs, subset(glb_feats_df, grepl("[HSA]\\.T\\.", id) & !is.na(cor.high.X)))
#dsp_obs(Headline.contains="polit")
#subset(glb_allobs_df, H.T.compani > 0)[, c("UniqueID", "Headline", "H.T.compani")]
# glb_append_stop_words[["<txt_var1>"]] <- c(NULL
# # ,"<word1>" # <reason1>
# )
#subset(glb_allobs_df, S.T.newyorktim > 0)[, c("UniqueID", "Snippet", "S.T.newyorktim")]
#glb_txt_lst[["Snippet"]][which(glb_allobs_df$UniqueID %in% c(8394, 8317, 8339, 8350, 8307))]
glb_important_terms <- list()
# Remember to use stemmed terms
glb_sprs_thresholds <- NULL # or c(0.988, 0.970, 0.970) # Generates 29, 22, 22 terms
# Properties:
# numrows(glb_feats_df) << numrows(glb_fitobs_df)
# Select terms that appear in at least 0.2 * O(FP/FN(glb_OOBobs_df))
# numrows(glb_OOBobs_df) = 1.1 * numrows(glb_newobs_df)
names(glb_sprs_thresholds) <- glb_txt_vars
glb_log_vars <- NULL # or c("<numeric_var1>", "<numeric_var2>")
# List transformed vars
glb_exclude_vars_as_features <- c(NULL) # or c("<var_name>")
if (glb_rsp_var_raw != glb_rsp_var)
glb_exclude_vars_as_features <- union(glb_exclude_vars_as_features,
glb_rsp_var_raw)
if (!is.null(glb_txt_vars))
glb_exclude_vars_as_features <- union(glb_exclude_vars_as_features,
glb_txt_vars)
# List feats that shd be excluded due to known causation by prediction variable
glb_exclude_vars_as_features <- union(glb_exclude_vars_as_features,
c(NULL, "District", "CommunityArea", "Latitude", "Longitude")) # or c("<col_name>")
glb_interaction_only_features <- NULL # or ???
glb_force_0_to_NA_vars <- NULL # or c("<numeric_var1>", "<numeric_var2>")
glb_impute_na_data <- TRUE# or FALSE
glb_mice_complete.seed <- 144 # or any integer
glb_cluster <- FALSE # or TRUE
glb_models_lst <- list(); glb_models_df <- data.frame()
# Regression
if (glb_is_regression)
glb_models_method_vctr <- c("lm", "glm", "bayesglm", "rpart", "rf") else
# Classification
if (glb_is_binomial)
#glb_models_method_vctr <- c("glm", "bayesglm", "rpart", "rf") else
glb_models_method_vctr <- c("glm", "bayesglm", "rpart") else
glb_models_method_vctr <- c("rpart", "rf")
# Baseline prediction model feature(s)
glb_Baseline_mdl_var <- NULL # or c("<col_name>")
glb_model_metric_terms <- NULL # or matrix(c(
# 0,1,2,3,4,
# 2,0,1,2,3,
# 4,2,0,1,2,
# 6,4,2,0,1,
# 8,6,4,2,0
# ), byrow=TRUE, nrow=5)
glb_model_metric <- NULL # or "<metric_name>"
glb_model_metric_maximize <- NULL # or FALSE (TRUE is not the default for both classification & regression)
glb_model_metric_smmry <- NULL # or function(data, lev=NULL, model=NULL) {
# confusion_mtrx <- t(as.matrix(confusionMatrix(data$pred, data$obs)))
# #print(confusion_mtrx)
# #print(confusion_mtrx * glb_model_metric_terms)
# metric <- sum(confusion_mtrx * glb_model_metric_terms) / nrow(data)
# names(metric) <- glb_model_metric
# return(metric)
# }
glb_tune_models_df <-
rbind(
#data.frame(parameter="cp", min=0.00005, max=0.00005, by=0.000005),
#seq(from=0.01, to=0.01, by=0.01)
#data.frame(parameter="mtry", min=080, max=100, by=10),
#data.frame(parameter="mtry", min=08, max=10, by=1),
data.frame(parameter="dummy", min=2, max=4, by=1)
)
# or NULL
glb_n_cv_folds <- 3 # or NULL
glb_clf_proba_threshold <- NULL # 0.5
# Model selection criteria
if (glb_is_regression)
glb_model_evl_criteria <- c("min.RMSE.OOB", "max.R.sq.OOB", "max.Adj.R.sq.fit")
if (glb_is_classification) {
if (glb_is_binomial)
glb_model_evl_criteria <-
c("max.Accuracy.OOB", "max.auc.OOB", "max.Kappa.OOB", "min.aic.fit") else
glb_model_evl_criteria <- c("max.Accuracy.OOB", "max.Kappa.OOB")
}
glb_sel_mdl_id <- NULL # or "<model_id_prefix>.<model_method>"
glb_fin_mdl_id <- glb_sel_mdl_id # or "Final"
# Depict process
glb_analytics_pn <- petrinet(name="glb_analytics_pn",
trans_df=data.frame(id=1:6,
name=c("data.training.all","data.new",
"model.selected","model.final",
"data.training.all.prediction","data.new.prediction"),
x=c( -5,-5,-15,-25,-25,-35),
y=c( -5, 5, 0, 0, -5, 5)
),
places_df=data.frame(id=1:4,
name=c("bgn","fit.data.training.all","predict.data.new","end"),
x=c( -0, -20, -30, -40),
y=c( 0, 0, 0, 0),
M0=c( 3, 0, 0, 0)
),
arcs_df=data.frame(
begin=c("bgn","bgn","bgn",
"data.training.all","model.selected","fit.data.training.all",
"fit.data.training.all","model.final",
"data.new","predict.data.new",
"data.training.all.prediction","data.new.prediction"),
end =c("data.training.all","data.new","model.selected",
"fit.data.training.all","fit.data.training.all","model.final",
"data.training.all.prediction","predict.data.new",
"predict.data.new","data.new.prediction",
"end","end")
))
#print(ggplot.petrinet(glb_analytics_pn))
print(ggplot.petrinet(glb_analytics_pn) + coord_flip())
## Loading required package: grid
glb_analytics_avl_objs <- NULL
glb_chunks_df <- myadd_chunk(NULL, "import.data")
## label step_major step_minor bgn end elapsed
## 1 import.data 1 0 7.779 NA NA
1.0: import dataglb_trnobs_df <- myimport_data(url=glb_trnng_url, comment="glb_trnobs_df",
force_header=TRUE)
## [1] "Reading file ./data/mvtWeek1.csv..."
## [1] "dimensions of data in ./data/mvtWeek1.csv: 191,641 rows x 11 cols"
## ID Date LocationDescription Arrest Domestic
## 1 8951354 12/31/12 23:15 STREET FALSE FALSE
## 2 8951141 12/31/12 22:00 STREET FALSE FALSE
## 3 8952745 12/31/12 22:00 RESIDENTIAL YARD (FRONT/BACK) FALSE FALSE
## 4 8952223 12/31/12 22:00 STREET FALSE FALSE
## 5 8951608 12/31/12 21:30 STREET FALSE FALSE
## 6 8950793 12/31/12 20:30 STREET TRUE FALSE
## Beat District CommunityArea Year Latitude Longitude
## 1 623 6 69 2012 41.75628 -87.62164
## 2 1213 12 24 2012 41.89879 -87.66130
## 3 1622 16 11 2012 41.96919 -87.76767
## 4 724 7 67 2012 41.76933 -87.65773
## 5 211 2 35 2012 41.83757 -87.62176
## 6 2521 25 19 2012 41.92856 -87.75400
## ID Date LocationDescription Arrest Domestic Beat
## 6619 8702591 7/12/12 0:00 STREET FALSE FALSE 1924
## 29201 7887067 1/11/11 18:00 STREET FALSE FALSE 2223
## 97589 4689109 4/11/06 11:00 STREET FALSE FALSE 2514
## 139458 2984390 10/9/03 21:00 STREET FALSE FALSE 1724
## 140984 2937323 9/7/03 20:30 SCHOOL, PUBLIC, GROUNDS FALSE FALSE 1134
## 189673 1375824 2/10/01 23:55 STREET FALSE FALSE 331
## District CommunityArea Year Latitude Longitude
## 6619 19 6 2012 41.94467 -87.64956
## 29201 22 73 2011 41.71918 -87.64330
## 97589 25 19 2006 41.93117 -87.76612
## 139458 17 16 2003 41.95781 -87.70707
## 140984 11 27 2003 41.87330 -87.70605
## 189673 NA NA 2001 41.76816 -87.56890
## ID Date LocationDescription Arrest Domestic Beat
## 191636 1310755 1/1/01 0:05 RESIDENCE-GARAGE FALSE FALSE 2332
## 191637 1310068 1/1/01 0:05 STREET FALSE FALSE 1123
## 191638 1313404 1/1/01 0:01 STREET FALSE FALSE 2023
## 191639 1313442 1/1/01 0:01 STREET FALSE FALSE 911
## 191640 1563324 1/1/01 0:01 STREET FALSE FALSE 1712
## 191641 1310463 1/1/01 0:01 STREET FALSE FALSE 1911
## District CommunityArea Year Latitude Longitude
## 191636 NA NA 2001 41.93978 -87.63969
## 191637 NA NA 2001 41.88757 -87.71132
## 191638 NA NA 2001 41.98192 -87.65888
## 191639 NA NA 2001 41.79902 -87.69654
## 191640 NA NA 2001 41.97144 -87.72706
## 191641 NA NA 2001 41.96833 -87.69639
## 'data.frame': 191641 obs. of 11 variables:
## $ ID : int 8951354 8951141 8952745 8952223 8951608 8950793 8950760 8951611 8951802 8950706 ...
## $ Date : chr "12/31/12 23:15" "12/31/12 22:00" "12/31/12 22:00" "12/31/12 22:00" ...
## $ LocationDescription: chr "STREET" "STREET" "RESIDENTIAL YARD (FRONT/BACK)" "STREET" ...
## $ Arrest : logi FALSE FALSE FALSE FALSE FALSE TRUE ...
## $ Domestic : logi FALSE FALSE FALSE FALSE FALSE FALSE ...
## $ Beat : int 623 1213 1622 724 211 2521 423 231 1021 1215 ...
## $ District : int 6 12 16 7 2 25 4 2 10 12 ...
## $ CommunityArea : int 69 24 11 67 35 19 48 40 29 24 ...
## $ Year : int 2012 2012 2012 2012 2012 2012 2012 2012 2012 2012 ...
## $ Latitude : num 41.8 41.9 42 41.8 41.8 ...
## $ Longitude : num -87.6 -87.7 -87.8 -87.7 -87.6 ...
## - attr(*, "comment")= chr "glb_trnobs_df"
## NULL
if (glb_is_separate_newent_dataset) {
glb_newobs_df <- myimport_data(url=glb_newdt_url, comment="glb_newobs_df",
force_header=TRUE)
# To make plots / stats / checks easier in chunk:inspectORexplore.data
glb_allobs_df <- myrbind_df(glb_trnobs_df, glb_newobs_df);
comment(glb_allobs_df) <- "glb_allobs_df"
} else {
glb_allobs_df <- glb_trnobs_df; comment(glb_allobs_df) <- "glb_allobs_df"
if (!glb_split_entity_newent_datasets) {
stop("Not implemented yet")
glb_newobs_df <- glb_trnobs_df[sample(1:nrow(glb_trnobs_df),
max(2, nrow(glb_trnobs_df) / 1000)),]
} else if (glb_split_newdata_method == "condition") {
glb_newobs_df <- do.call("subset",
list(glb_trnobs_df, parse(text=glb_split_newdata_condition)))
glb_trnobs_df <- do.call("subset",
list(glb_trnobs_df, parse(text=paste0("!(",
glb_split_newdata_condition,
")"))))
} else if (glb_split_newdata_method == "sample") {
require(caTools)
set.seed(glb_split_sample.seed)
split <- sample.split(glb_trnobs_df[, glb_rsp_var_raw],
SplitRatio=(1-glb_split_newdata_size_ratio))
glb_newobs_df <- glb_trnobs_df[!split, ]
glb_trnobs_df <- glb_trnobs_df[split ,]
} else if (glb_split_newdata_method == "copy") {
glb_trnobs_df <- glb_allobs_df
comment(glb_trnobs_df) <- "glb_trnobs_df"
glb_newobs_df <- glb_allobs_df
comment(glb_newobs_df) <- "glb_newobs_df"
} else stop("glb_split_newdata_method should be %in% c('condition', 'sample', 'copy')")
comment(glb_newobs_df) <- "glb_newobs_df"
myprint_df(glb_newobs_df)
str(glb_newobs_df)
if (glb_split_entity_newent_datasets) {
myprint_df(glb_trnobs_df)
str(glb_trnobs_df)
}
}
## Loading required package: caTools
## ID Date LocationDescription Arrest Domestic Beat
## 2 8951141 12/31/12 22:00 STREET FALSE FALSE 1213
## 4 8952223 12/31/12 22:00 STREET FALSE FALSE 724
## 5 8951608 12/31/12 21:30 STREET FALSE FALSE 211
## 10 8950706 12/31/12 18:00 STREET FALSE FALSE 1215
## 13 8955530 12/31/12 16:30 STREET FALSE FALSE 921
## 19 8950586 12/31/12 14:36 STREET FALSE FALSE 511
## District CommunityArea Year Latitude Longitude
## 2 12 24 2012 41.89879 -87.66130
## 4 7 67 2012 41.76933 -87.65773
## 5 2 35 2012 41.83757 -87.62176
## 10 12 24 2012 41.89008 -87.65882
## 13 9 58 2012 41.82054 -87.68490
## 19 5 49 2012 41.71761 -87.62751
## ID Date LocationDescription Arrest Domestic Beat
## 10809 8541975 3/27/12 18:45 STREET FALSE FALSE 1713
## 16336 8345589 11/7/11 7:00 STREET FALSE FALSE 2524
## 19337 8238560 8/22/11 16:00 STREET FALSE FALSE 1423
## 24382 8045026 5/2/11 22:00 STREET FALSE FALSE 1722
## 46911 7240309 11/19/09 7:30 STREET FALSE FALSE 1024
## 183763 1578931 6/11/01 3:00 STREET FALSE FALSE 1313
## District CommunityArea Year Latitude Longitude
## 10809 17 14 2012 41.96528 -87.70579
## 16336 25 22 2011 41.92589 -87.72055
## 19337 14 24 2011 41.90858 -87.69717
## 24382 17 16 2011 41.95406 -87.72938
## 46911 10 30 2009 41.84824 -87.70568
## 183763 NA NA 2001 41.89557 -87.69947
## ID Date LocationDescription Arrest Domestic Beat
## 191620 1312438 1/1/01 10:00 STREET FALSE FALSE 2523
## 191623 1312756 1/1/01 5:00 STREET FALSE FALSE 1724
## 191625 1918518 1/1/01 4:30 STREET FALSE FALSE 2522
## 191626 1313456 1/1/01 4:00 STREET FALSE FALSE 911
## 191629 1310725 1/1/01 3:00 STREET TRUE FALSE 822
## 191637 1310068 1/1/01 0:05 STREET FALSE FALSE 1123
## District CommunityArea Year Latitude Longitude
## 191620 NA NA 2001 41.93195 -87.71735
## 191623 NA NA 2001 41.95563 -87.70707
## 191625 NA NA 2001 41.91825 -87.75583
## 191626 NA NA 2001 41.79718 -87.69742
## 191629 NA NA 2001 41.79354 -87.70937
## 191637 NA NA 2001 41.88757 -87.71132
## 'data.frame': 57493 obs. of 11 variables:
## $ ID : int 8951141 8952223 8951608 8950706 8955530 8950586 8950477 8950502 8950414 8950164 ...
## $ Date : chr "12/31/12 22:00" "12/31/12 22:00" "12/31/12 21:30" "12/31/12 18:00" ...
## $ LocationDescription: chr "STREET" "STREET" "STREET" "STREET" ...
## $ Arrest : logi FALSE FALSE FALSE FALSE FALSE FALSE ...
## $ Domestic : logi FALSE FALSE FALSE FALSE FALSE FALSE ...
## $ Beat : int 1213 724 211 1215 921 511 922 332 213 1511 ...
## $ District : int 12 7 2 12 9 5 9 3 2 15 ...
## $ CommunityArea : int 24 67 35 24 58 49 58 43 38 25 ...
## $ Year : int 2012 2012 2012 2012 2012 2012 2012 2012 2012 2012 ...
## $ Latitude : num 41.9 41.8 41.8 41.9 41.8 ...
## $ Longitude : num -87.7 -87.7 -87.6 -87.7 -87.7 ...
## - attr(*, "comment")= chr "glb_newobs_df"
## ID Date LocationDescription Arrest Domestic
## 1 8951354 12/31/12 23:15 STREET FALSE FALSE
## 3 8952745 12/31/12 22:00 RESIDENTIAL YARD (FRONT/BACK) FALSE FALSE
## 6 8950793 12/31/12 20:30 STREET TRUE FALSE
## 7 8950760 12/31/12 20:10 STREET FALSE FALSE
## 8 8951611 12/31/12 20:00 STREET FALSE FALSE
## 9 8951802 12/31/12 19:00 STREET TRUE FALSE
## Beat District CommunityArea Year Latitude Longitude
## 1 623 6 69 2012 41.75628 -87.62164
## 3 1622 16 11 2012 41.96919 -87.76767
## 6 2521 25 19 2012 41.92856 -87.75400
## 7 423 4 48 2012 41.73206 -87.56481
## 8 231 2 40 2012 41.79251 -87.61932
## 9 1021 10 29 2012 41.86362 -87.70910
## ID Date LocationDescription Arrest Domestic Beat
## 2065 8883333 11/11/12 12:00 STREET FALSE FALSE 1932
## 61609 6481912 9/7/08 23:00 STREET FALSE FALSE 513
## 81099 5522470 5/11/07 20:40 DRIVEWAY - RESIDENTIAL FALSE FALSE 1634
## 115725 3860314 3/11/05 22:00 STREET TRUE FALSE 1013
## 127734 3389909 6/19/04 19:00 STREET FALSE FALSE 2411
## 163666 2146843 5/22/02 22:30 OTHER FALSE FALSE 1033
## District CommunityArea Year Latitude Longitude
## 2065 19 7 2012 41.92891 -87.66687
## 61609 5 49 2008 41.69275 -87.61873
## 81099 16 15 2007 41.95140 -87.75243
## 115725 10 30 2005 41.85155 -87.71636
## 127734 24 2 2004 42.00641 -87.68753
## 163666 NA 30 2002 41.83897 -87.70473
## ID Date LocationDescription Arrest Domestic Beat
## 191635 1918610 1/1/01 0:05 RESIDENCE-GARAGE FALSE FALSE 2514
## 191636 1310755 1/1/01 0:05 RESIDENCE-GARAGE FALSE FALSE 2332
## 191638 1313404 1/1/01 0:01 STREET FALSE FALSE 2023
## 191639 1313442 1/1/01 0:01 STREET FALSE FALSE 911
## 191640 1563324 1/1/01 0:01 STREET FALSE FALSE 1712
## 191641 1310463 1/1/01 0:01 STREET FALSE FALSE 1911
## District CommunityArea Year Latitude Longitude
## 191635 NA NA 2001 41.92883 -87.77482
## 191636 NA NA 2001 41.93978 -87.63969
## 191638 NA NA 2001 41.98192 -87.65888
## 191639 NA NA 2001 41.79902 -87.69654
## 191640 NA NA 2001 41.97144 -87.72706
## 191641 NA NA 2001 41.96833 -87.69639
## 'data.frame': 134148 obs. of 11 variables:
## $ ID : int 8951354 8952745 8950793 8950760 8951611 8951802 8951585 8951230 8950570 8954231 ...
## $ Date : chr "12/31/12 23:15" "12/31/12 22:00" "12/31/12 20:30" "12/31/12 20:10" ...
## $ LocationDescription: chr "STREET" "RESIDENTIAL YARD (FRONT/BACK)" "STREET" "STREET" ...
## $ Arrest : logi FALSE FALSE TRUE FALSE FALSE TRUE ...
## $ Domestic : logi FALSE FALSE FALSE FALSE FALSE FALSE ...
## $ Beat : int 623 1622 2521 423 231 1021 1011 734 825 1834 ...
## $ District : int 6 16 25 4 2 10 10 7 8 18 ...
## $ CommunityArea : int 69 11 19 48 40 29 29 67 66 8 ...
## $ Year : int 2012 2012 2012 2012 2012 2012 2012 2012 2012 2012 ...
## $ Latitude : num 41.8 42 41.9 41.7 41.8 ...
## $ Longitude : num -87.6 -87.8 -87.8 -87.6 -87.6 ...
## - attr(*, "comment")= chr "glb_trnobs_df"
if (nrow(glb_trnobs_df) == nrow(glb_allobs_df))
warning("glb_trnobs_df same as glb_allobs_df")
if (nrow(glb_newobs_df) == nrow(glb_allobs_df))
warning("glb_newobs_df same as glb_allobs_df")
if (length(glb_drop_vars) > 0) {
warning("dropping vars: ", paste0(glb_drop_vars, collapse=", "))
glb_allobs_df <- glb_allobs_df[, setdiff(names(glb_allobs_df), glb_drop_vars)]
glb_trnobs_df <- glb_trnobs_df[, setdiff(names(glb_trnobs_df), glb_drop_vars)]
glb_newobs_df <- glb_newobs_df[, setdiff(names(glb_newobs_df), glb_drop_vars)]
}
# Check for duplicates in glb_id_vars
if (length(glb_id_vars) == 0) {
warning("using .rownames as identifiers for observations")
glb_allobs_df$.rownames <- rownames(glb_allobs_df)
glb_id_vars <- ".rownames"
}
if (sum(duplicated(glb_allobs_df[, glb_id_vars, FALSE])) > 0)
stop(glb_id_vars, " duplicated in glb_allobs_df")
glb_exclude_vars_as_features <- union(glb_exclude_vars_as_features, glb_id_vars)
# Combine trnent & newent into glb_allobs_df for easier manipulation
glb_trnobs_df$.src <- "Train"; glb_newobs_df$.src <- "Test";
glb_exclude_vars_as_features <- union(glb_exclude_vars_as_features, ".src")
glb_allobs_df <- myrbind_df(glb_trnobs_df, glb_newobs_df)
comment(glb_allobs_df) <- "glb_allobs_df"
glb_allobs_df <- orderBy(reformulate(glb_id_vars), glb_allobs_df)
glb_trnobs_df <- glb_newobs_df <- NULL
glb_chunks_df <- myadd_chunk(glb_chunks_df, "inspect.data", major.inc=TRUE)
## label step_major step_minor bgn end elapsed
## 1 import.data 1 0 7.779 15.444 7.665
## 2 inspect.data 2 0 15.445 NA NA
2.0: inspect data#print(str(glb_allobs_df))
#View(glb_allobs_df)
dsp_class_dstrb <- function(var) {
xtab_df <- mycreate_xtab_df(glb_allobs_df, c(".src", var))
rownames(xtab_df) <- xtab_df$.src
xtab_df <- subset(xtab_df, select=-.src)
print(xtab_df)
print(xtab_df / rowSums(xtab_df, na.rm=TRUE))
}
# Performed repeatedly in other chunks
glb_chk_data <- function() {
# Histogram of predictor in glb_trnobs_df & glb_newobs_df
print(myplot_histogram(glb_allobs_df, glb_rsp_var_raw) + facet_wrap(~ .src))
if (glb_is_classification)
dsp_class_dstrb(var=ifelse(glb_rsp_var %in% names(glb_allobs_df),
glb_rsp_var, glb_rsp_var_raw))
mycheck_problem_data(glb_allobs_df)
}
glb_chk_data()
## Loading required package: reshape2
## Arrest.FALSE Arrest.TRUE
## Test 52832 4661
## Train 123273 10875
## Arrest.FALSE Arrest.TRUE
## Test 0.9189293 0.08107074
## Train 0.9189328 0.08106718
## [1] "numeric data missing in glb_allobs_df: "
## District CommunityArea Latitude Longitude
## 43056 24616 2276 2276
## [1] "numeric data w/ 0s in glb_allobs_df: "
## Arrest Domestic CommunityArea
## 176105 191226 2
## [1] "numeric data w/ Infs in glb_allobs_df: "
## named integer(0)
## [1] "numeric data w/ NaNs in glb_allobs_df: "
## named integer(0)
## [1] "string data missing in glb_allobs_df: "
## Date LocationDescription
## 0 0
# Create new features that help diagnostics
if (!is.null(glb_map_rsp_raw_to_var)) {
glb_allobs_df[, glb_rsp_var] <-
glb_map_rsp_raw_to_var(glb_allobs_df[, glb_rsp_var_raw])
mycheck_map_results(mapd_df=glb_allobs_df,
from_col_name=glb_rsp_var_raw, to_col_name=glb_rsp_var)
if (glb_is_classification) dsp_class_dstrb(glb_rsp_var)
}
## Loading required package: sqldf
## Loading required package: gsubfn
## Loading required package: proto
## Loading required package: RSQLite
## Loading required package: DBI
## Loading required package: tcltk
## Arrest Arrest.fctr .n
## 1 FALSE F 176105
## 2 TRUE T 15536
## Arrest.fctr.F Arrest.fctr.T
## Test 52832 4661
## Train 123273 10875
## Arrest.fctr.F Arrest.fctr.T
## Test 0.9189293 0.08107074
## Train 0.9189328 0.08106718
# Convert dates to numbers
# typically, dates come in as chars;
# so this must be done before converting chars to factors
myextract_dates_df <- function(df, vars, id_vars, rsp_var) {
keep_feats <- c(NULL)
for (var in vars) {
dates_df <- df[, id_vars, FALSE]
dates_df[, rsp_var] <- df[, rsp_var, FALSE]
#dates_df <- data.frame(.date=strptime(df[, var], "%Y-%m-%d %H:%M:%S"))
dates_df <- cbind(dates_df, data.frame(.date=strptime(df[, var],
"%m/%e/%y %H:%M",
tz="America/Chicago")))
# print(dates_df[is.na(dates_df$.date), c("ID", "Arrest.fctr", ".date")])
# print(glb_allobs_df[is.na(dates_df$.date), c("ID", "Arrest.fctr", "Date")])
# print(head(glb_allobs_df[grepl("4/7/02 .:..", glb_allobs_df$Date), c("ID", "Arrest.fctr", "Date")]))
# print(head(strptime(glb_allobs_df[grepl("4/7/02 .:..", glb_allobs_df$Date), "Date"], "%m/%e/%y %H:%M"))
# Wrong data during EST->EDT transition
# tmp <- strptime("4/7/02 2:00","%m/%e/%y %H:%M:%S"); print(tmp); print(is.na(tmp))
# dates_df[dates_df$ID == 2068197, .date] <- tmp
# grep("(.*?) 2:(.*)", glb_allobs_df[is.na(dates_df$.date), "Date"], value=TRUE)
dates_df[is.na(dates_df$.date), ".date"] <-
data.frame(.date=strptime(gsub("(.*?) 2:(.*)", "\\1 3:\\2",
glb_allobs_df[is.na(dates_df$.date), "Date"]), "%m/%e/%y %H:%M"))$.date
if (sum(is.na(dates_df$.date)) > 0) {
stop("NA POSIX dates for ", var)
print(df[is.na(dates_df$.date), c(id_vars, rsp_var, var)])
}
.date <- dates_df$.date
dates_df[, paste0(var, ".POSIX")] <- .date
dates_df[, paste0(var, ".year")] <- as.numeric(format(.date, "%Y"))
dates_df[, paste0(var, ".year.fctr")] <- as.factor(format(.date, "%Y"))
dates_df[, paste0(var, ".month")] <- as.numeric(format(.date, "%m"))
dates_df[, paste0(var, ".month.fctr")] <- as.factor(format(.date, "%m"))
dates_df[, paste0(var, ".date")] <- as.numeric(format(.date, "%d"))
dates_df[, paste0(var, ".date.fctr")] <-
cut(as.numeric(format(.date, "%d")), 5) # by month week
dates_df[, paste0(var, ".juliandate")] <- as.numeric(format(.date, "%j"))
# wkday Sun=0; Mon=1; ...; Sat=6
dates_df[, paste0(var, ".wkday")] <- as.numeric(format(.date, "%w"))
dates_df[, paste0(var, ".wkday.fctr")] <- as.factor(format(.date, "%w"))
# Get US Federal Holidays for relevant years
require(XML)
doc.html = htmlTreeParse('http://about.usps.com/news/events-calendar/2012-federal-holidays.htm', useInternal = TRUE)
# # Extract all the paragraphs (HTML tag is p, starting at
# # the root of the document). Unlist flattens the list to
# # create a character vector.
# doc.text = unlist(xpathApply(doc.html, '//p', xmlValue))
# # Replace all \n by spaces
# doc.text = gsub('\\n', ' ', doc.text)
# # Join all the elements of the character vector into a single
# # character string, separated by spaces
# doc.text = paste(doc.text, collapse = ' ')
# parse the tree by tables
txt <- unlist(strsplit(xpathSApply(doc.html, "//*/table", xmlValue), "\n"))
# do some clean up with regular expressions
txt <- grep("day, ", txt, value=TRUE)
txt <- trimws(gsub("(.*?)day, (.*)", "\\2", txt))
# txt <- gsub("\t","",txt)
# txt <- sub("^[[:space:]]*(.*?)[[:space:]]*$", "\\1", txt, perl=TRUE)
# txt <- txt[!(txt %in% c("", "|"))]
hldays <- strptime(paste(txt, ", 2012", sep=""), "%B %e, %Y")
dates_df[, paste0(var, ".hlday")] <-
ifelse(format(.date, "%Y-%m-%d") %in% hldays, 1, 0)
# NYState holidays 1.9., 13.10., 11.11., 27.11., 25.12.
dates_df[, paste0(var, ".wkend")] <- as.numeric(
(dates_df[, paste0(var, ".wkday")] %in% c(0, 6)) |
dates_df[, paste0(var, ".hlday")] )
dates_df[, paste0(var, ".hour")] <- as.numeric(format(.date, "%H"))
dates_df[, paste0(var, ".hour.fctr")] <-
cut(as.numeric(format(.date, "%H")), 3) # by work-shift
dates_df[, paste0(var, ".minute")] <- as.numeric(format(.date, "%M"))
dates_df[, paste0(var, ".minute.fctr")] <-
cut(as.numeric(format(.date, "%M")), 4) # by quarter-hours
dates_df[, paste0(var, ".second")] <- as.numeric(format(.date, "%S"))
if (unique(dates_df[, paste0(var, ".second")]) > 5) {
dates_df[, paste0(var, ".second.fctr")] <-
cut(as.numeric(format(.date, "%S")), 4) # by quarter-hours
} else
dates_df[, paste0(var, ".second.fctr")] <-
as.numeric(format(.date, "%S"))
dates_df[, paste0(var, ".day.minutes")] <-
60 * dates_df[, paste0(var, ".hour")] +
dates_df[, paste0(var, ".minute")]
dates_df[, paste0(var, ".day.minutes.poly.", 1:5)] <-
as.matrix(poly(dates_df[, paste0(var, ".day.minutes")], 5))
# print(gp <- myplot_box(df=dates_df, ycol_names="PubDate.day.minutes",
# xcol_name=rsp_var))
# print(gp <- myplot_scatter(df=dates_df, xcol_name=".rownames",
# ycol_name="PubDate.day.minutes", colorcol_name=rsp_var))
# print(gp <- myplot_scatter(df=dates_df, xcol_name="PubDate.juliandate",
# ycol_name="PubDate.day.minutes.poly.1", colorcol_name=rsp_var))
# print(gp <- myplot_scatter(df=dates_df, xcol_name="PubDate.day.minutes",
# ycol_name="PubDate.day.minutes.poly.4", colorcol_name=rsp_var))
#
# print(gp <- myplot_scatter(df=dates_df, xcol_name="PubDate.juliandate",
# ycol_name="PubDate.day.minutes", colorcol_name=rsp_var, smooth=TRUE))
# print(gp <- myplot_scatter(df=dates_df, xcol_name="PubDate.juliandate",
# ycol_name="PubDate.day.minutes.poly.4", colorcol_name=rsp_var, smooth=TRUE))
# print(gp <- myplot_scatter(df=dates_df, xcol_name="PubDate.juliandate",
# ycol_name=c("PubDate.day.minutes", "PubDate.day.minutes.poly.4"),
# colorcol_name=rsp_var))
# print(gp <- myplot_scatter(df=subset(dates_df, Popular.fctr=="Y"),
# xcol_name=paste0(var, ".juliandate"),
# ycol_name=paste0(var, ".day.minutes", colorcol_name=rsp_var))
print(gp <- myplot_box(df=dates_df, ycol_names=paste0(var, ".hour"),
xcol_name=rsp_var))
print(gp <- myplot_bar(df=dates_df, ycol_names=paste0(var, ".hour.fctr"),
xcol_name=rsp_var,
colorcol_name=paste0(var, ".hour.fctr")))
keep_feats <- union(keep_feats, paste(var,
c(".POSIX", ".year.fctr", ".month.fctr", ".date.fctr", ".wkday.fctr",
".wkend", ".hour.fctr", ".minute.fctr", ".second.fctr",
paste0(".day.minutes.poly.", 1:5)), sep=""))
}
#myprint_df(dates_df)
return(dates_df[, keep_feats])
}
if (!is.null(glb_date_vars)) {
glb_allobs_df <- cbind(glb_allobs_df,
myextract_dates_df(df=glb_allobs_df, vars=glb_date_vars,
id_vars=glb_id_vars, rsp_var=glb_rsp_var))
glb_exclude_vars_as_features <- union(glb_exclude_vars_as_features,
paste(glb_date_vars, c("", ".POSIX"), sep=""))
for (feat in glb_date_vars) {
glb_allobs_df <- orderBy(reformulate(paste0(feat, ".POSIX")), glb_allobs_df)
# print(myplot_scatter(glb_allobs_df, xcol_name=paste0(feat, ".POSIX"),
# ycol_name=glb_rsp_var, colorcol_name=glb_rsp_var))
print(myplot_scatter(glb_allobs_df[glb_allobs_df[, paste0(feat, ".POSIX")] >=
strptime("2012-12-01", "%Y-%m-%d"), ],
xcol_name=paste0(feat, ".POSIX"),
ycol_name=glb_rsp_var, colorcol_name=paste0(feat, ".wkend")))
# Create features that measure the gap between previous timestamp in the data
require(zoo)
z <- zoo(as.numeric(as.POSIXlt(glb_allobs_df[, paste0(feat, ".POSIX")])))
glb_allobs_df[, paste0(feat, ".zoo")] <- z
print(head(glb_allobs_df[, c(glb_id_vars, feat, paste0(feat, ".zoo"))]))
print(myplot_scatter(glb_allobs_df[glb_allobs_df[, paste0(feat, ".POSIX")] >
strptime("2012-10-01", "%Y-%m-%d"), ],
xcol_name=paste0(feat, ".zoo"), ycol_name=glb_rsp_var,
colorcol_name=glb_rsp_var))
b <- zoo(, seq(nrow(glb_allobs_df)))
last1 <- as.numeric(merge(z-lag(z, -1), b, all=TRUE)); last1[is.na(last1)] <- 0
glb_allobs_df[, paste0(feat, ".last1.log")] <- log(1 + last1)
print(gp <- myplot_box(df=glb_allobs_df[glb_allobs_df[,
paste0(feat, ".last1.log")] > 0, ],
ycol_names=paste0(feat, ".last1.log"),
xcol_name=glb_rsp_var))
last10 <- as.numeric(merge(z-lag(z, -10), b, all=TRUE)); last10[is.na(last10)] <- 0
glb_allobs_df[, paste0(feat, ".last10.log")] <- log(1 + last10)
print(gp <- myplot_box(df=glb_allobs_df[glb_allobs_df[,
paste0(feat, ".last10.log")] > 0, ],
ycol_names=paste0(feat, ".last10.log"),
xcol_name=glb_rsp_var))
last100 <- as.numeric(merge(z-lag(z, -100), b, all=TRUE)); last100[is.na(last100)] <- 0
glb_allobs_df[, paste0(feat, ".last100.log")] <- log(1 + last100)
print(gp <- myplot_box(df=glb_allobs_df[glb_allobs_df[,
paste0(feat, ".last100.log")] > 0, ],
ycol_names=paste0(feat, ".last100.log"),
xcol_name=glb_rsp_var))
glb_allobs_df <- orderBy(reformulate(glb_id_vars), glb_allobs_df)
glb_exclude_vars_as_features <- union(glb_exclude_vars_as_features,
c(paste0(feat, ".zoo")))
# all2$last3 = as.numeric(merge(z-lag(z, -3), b, all = TRUE))
# all2$last5 = as.numeric(merge(z-lag(z, -5), b, all = TRUE))
# all2$last10 = as.numeric(merge(z-lag(z, -10), b, all = TRUE))
# all2$last20 = as.numeric(merge(z-lag(z, -20), b, all = TRUE))
# all2$last50 = as.numeric(merge(z-lag(z, -50), b, all = TRUE))
#
#
# # order table
# all2 = all2[order(all2$id),]
#
# ## fill in NAs
# # count averages
# na.avg = all2 %>% group_by(weekend, hour) %>% dplyr::summarise(
# last1=mean(last1, na.rm=TRUE),
# last3=mean(last3, na.rm=TRUE),
# last5=mean(last5, na.rm=TRUE),
# last10=mean(last10, na.rm=TRUE),
# last20=mean(last20, na.rm=TRUE),
# last50=mean(last50, na.rm=TRUE)
# )
#
# # fill in averages
# na.merge = merge(all2, na.avg, by=c("weekend","hour"))
# na.merge = na.merge[order(na.merge$id),]
# for(i in c("last1", "last3", "last5", "last10", "last20", "last50")) {
# y = paste0(i, ".y")
# idx = is.na(all2[[i]])
# all2[idx,][[i]] <- na.merge[idx,][[y]]
# }
# rm(na.avg, na.merge, b, i, idx, n, pd, sec, sh, y, z)
}
}
## Loading required package: XML
## Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
## returning NA
## Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
## returning NA
## Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
## returning NA
## Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
## returning NA
## Warning in myplot_scatter(glb_allobs_df[glb_allobs_df[, paste0(feat,
## ".POSIX")] >= : converting Date.wkend to class:factor
## Loading required package: zoo
##
## Attaching package: 'zoo'
##
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
## ID Date Date.zoo
## 191641 1310463 1/1/01 0:01 978328860
## 191638 1313404 1/1/01 0:01 978328860
## 191639 1313442 1/1/01 0:01 978328860
## 191640 1563324 1/1/01 0:01 978328860
## 191637 1310068 1/1/01 0:05 978329100
## 191636 1310755 1/1/01 0:05 978329100
## Don't know how to automatically pick scale for object of type zoo. Defaulting to continuous
# check distribution of all numeric data
dsp_numeric_feats_dstrb <- function(feats_vctr) {
for (feat in feats_vctr) {
print(sprintf("feat: %s", feat))
if (glb_is_regression)
gp <- myplot_scatter(df=glb_allobs_df, ycol_name=glb_rsp_feat, xcol_name=feat,
smooth=TRUE)
if (glb_is_classification)
gp <- myplot_box(df=glb_allobs_df, ycol_names=feat, xcol_name=glb_rsp_var)
if (inherits(glb_allobs_df[, feat], "factor"))
gp <- gp + facet_wrap(reformulate(feat))
print(gp)
}
}
# dsp_numeric_feats_dstrb(setdiff(names(glb_allobs_df),
# union(myfind_chr_cols_df(glb_allobs_df),
# c(glb_rsp_var_raw, glb_rsp_var))))
add_new_diag_feats <- function(obs_df, ref_df=glb_allobs_df) {
require(plyr)
obs_df <- mutate(obs_df,
# <col_name>.NA=is.na(<col_name>),
# <col_name>.fctr=factor(<col_name>,
# as.factor(union(obs_df$<col_name>, obs_twin_df$<col_name>))),
# <col_name>.fctr=relevel(factor(<col_name>,
# as.factor(union(obs_df$<col_name>, obs_twin_df$<col_name>))),
# "<ref_val>"),
# <col2_name>.fctr=relevel(factor(ifelse(<col1_name> == <val>, "<oth_val>", "<ref_val>")),
# as.factor(c("R", "<ref_val>")),
# ref="<ref_val>"),
# This doesn't work - use sapply instead
# <col_name>.fctr_num=grep(<col_name>, levels(<col_name>.fctr)),
#
# Date.my=as.Date(strptime(Date, "%m/%d/%y %H:%M")),
# Year=year(Date.my),
# Month=months(Date.my),
# Weekday=weekdays(Date.my)
# <col_name>=<table>[as.character(<col2_name>)],
# <col_name>=as.numeric(<col2_name>),
# District.my = trunc(Beat / 100),
.rnorm = rnorm(n=nrow(obs_df))
)
# If levels of a factor are different across obs_df & glb_newobs_df; predict.glm fails
# Transformations not handled by mutate
# obs_df$<col_name>.fctr.num <- sapply(1:nrow(obs_df),
# function(row_ix) grep(obs_df[row_ix, "<col_name>"],
# levels(obs_df[row_ix, "<col_name>.fctr"])))
#print(summary(obs_df))
#print(sapply(names(obs_df), function(col) sum(is.na(obs_df[, col]))))
return(obs_df)
}
glb_allobs_df <- add_new_diag_feats(glb_allobs_df)
## Loading required package: plyr
require(dplyr)
## Loading required package: dplyr
##
## Attaching package: 'dplyr'
##
## The following objects are masked from 'package:plyr':
##
## arrange, count, desc, failwith, id, mutate, rename, summarise,
## summarize
##
## The following object is masked from 'package:stats':
##
## filter
##
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
#stop(here"); sav_allobs_df <- glb_allobs_df # glb_allobs_df <- sav_allobs_df
# Merge some LocationDescription
glb_allobs_df$LocationDescription.my <- glb_allobs_df$LocationDescription
glb_allobs_df[grepl("\\bAIRPORT\\b", glb_allobs_df$LocationDescription.my),
"LocationDescription.my"] <- "AIRPORT"
glb_allobs_df[grepl("\\bAPARTMENT\\b", glb_allobs_df$LocationDescription.my),
"LocationDescription.my"] <- "APARTMENT"
glb_allobs_df[grepl("\\b(SCHOOL|COLLEGE)\\b", glb_allobs_df$LocationDescription.my),
"LocationDescription.my"] <- "SCHOOL/COLLEGE"
glb_allobs_df[grepl("\\bCTA\\b", glb_allobs_df$LocationDescription.my),
"LocationDescription.my"] <- "CTA"
glb_allobs_df[grepl("\\bHOSPITAL\\b", glb_allobs_df$LocationDescription.my),
"LocationDescription.my"] <- "HOSPITAL"
glb_allobs_df[grepl("\\bOFFICE\\b", glb_allobs_df$LocationDescription.my),
"LocationDescription.my"] <- "OFFICE"
glb_allobs_df[grepl("\\b(RESIDENCE|RESIDENTIAL)\\b", glb_allobs_df$LocationDescription.my),
"LocationDescription.my"] <- "STORE"
glb_allobs_df[grepl("\\bSTORE\\b", glb_allobs_df$LocationDescription.my),
"LocationDescription.my"] <- "STORE"
glb_allobs_df$LocationDescription.my <-
plyr::revalue(glb_allobs_df$LocationDescription.my, c(
"ABANDONED BUILDING" = "OTHER",
"ATHLETIC CLUB" = "OTHER",
"BANK" = "OTHER",
"BOWLING ALLEY" = "OTHER",
"BRIDGE" = "OTHER",
"CHURCH/SYNAGOGUE/PLACE OF WORSHIP" = "OTHER",
"CONSTRUCTION SITE" = "OTHER",
"CURRENCY EXCHANGE" = "OTHER",
"JAIL / LOCK-UP FACILITY" = "OTHER",
"NEWSSTAND" = "OTHER",
"SAVINGS AND LOAN" = "OTHER",
"HIGHWAY/EXPRESSWAY" = "OTHER TRANSPORTATION",
"OTHER COMMERCIAL TRANSPORTATION" = "OTHER TRANSPORTATION",
"OTHER RAILROAD PROP / TRAIN DEPOT" = "OTHER TRANSPORTATION",
"TAXICAB" = "OTHER TRANSPORTATION",
"VEHICLE-COMMERCIAL" = "OTHER TRANSPORTATION",
"CHA PARKING LOT/GROUNDS" = "GOVERNMENT BUILDING/PROPERTY",
"CTA" = "GOVERNMENT BUILDING/PROPERTY",
"FIRE STATION" = "GOVERNMENT BUILDING/PROPERTY",
"LIBRARY" = "GOVERNMENT BUILDING/PROPERTY",
"POLICE FACILITY/VEH PARKING LOT" = "GOVERNMENT BUILDING/PROPERTY",
"NURSING HOME/RETIREMENT HOME" = "HOSPITAL",
"FACTORY/MANUFACTURING BUILDING" = "OFFICE",
"WAREHOUSE" = "OFFICE",
"FOREST PRESERVE" = "PARK PROPERTY",
"LAKEFRONT/WATERFRONT/RIVERBANK" = "PARK PROPERTY",
"BAR OR TAVERN" = "STORE",
"BARBERSHOP" = "STORE",
"CAR WASH" = "STORE",
"DAY CARE CENTER" = "STORE",
"MOVIE HOUSE/THEATER" = "STORE",
"RESTAURANT" = "STORE",
"##" = "##"
))
## The following `from` values were not present in `x`: ##
print(LD_freq_df <- mycreate_sqlxtab_df(glb_allobs_df, c("LocationDescription.my")))
## LocationDescription.my .n
## 1 STREET 156564
## 2 PARKING LOT/GARAGE(NON.RESID.) 14852
## 3 STORE 6012
## 4 OTHER 4697
## 5 ALLEY 2308
## 6 GAS STATION 2111
## 7 VACANT LOT/LAND 985
## 8 GOVERNMENT BUILDING/PROPERTY 877
## 9 VEHICLE NON-COMMERCIAL 817
## 10 SIDEWALK 462
## 11 AIRPORT 419
## 12 SCHOOL/COLLEGE 406
## 13 PARK PROPERTY 265
## 14 APARTMENT 189
## 15 SPORTS ARENA/STADIUM 166
## 16 OFFICE 162
## 17 HOTEL/MOTEL 124
## 18 HOSPITAL 123
## 19 OTHER TRANSPORTATION 102
# print(dplyr::filter(LD_freq_df, grepl("(MEDICAL|DENTAL|OFFICE)", LocationDescription.my)))
# print(dplyr::filter(dplyr::select(glb_allobs_df, -Date.zoo),
# grepl("STORE", LocationDescription.my)))
glb_exclude_vars_as_features <- c(glb_exclude_vars_as_features, "LocationDescription")
# Add logs of numerics that are not distributed normally -> do automatically ???
if (!is.null(glb_log_vars)) {
# Cycle thru glb_log_vars & create logs
# <col_name>.log=log(1 + <col.name>),
for (col in glb_log_vars)
glb_allobs_df[, paste0(col, ".log")] <- log(1 + glb_allobs_df[, col])
# Add raw_vars to glb_exclude_vars_as_features
glb_exclude_vars_as_features <- union(glb_exclude_vars_as_features, glb_log_vars)
}
# Check distributions of newly transformed / extracted vars
# Enhancement: remove vars that were displayed ealier
dsp_numeric_feats_dstrb(feats_vctr=setdiff(names(glb_allobs_df),
c(myfind_chr_cols_df(glb_allobs_df), glb_rsp_var_raw, glb_rsp_var,
glb_exclude_vars_as_features)))
## [1] "feat: Domestic"
## [1] "feat: Beat"
## [1] "feat: Year"
## [1] "feat: Date.year.fctr"
## [1] "feat: Date.month.fctr"
## [1] "feat: Date.date.fctr"
## [1] "feat: Date.wkday.fctr"
## [1] "feat: Date.wkend"
## [1] "feat: Date.hour.fctr"
## [1] "feat: Date.minute.fctr"
## [1] "feat: Date.second.fctr"
## [1] "feat: Date.day.minutes.poly.1"
## [1] "feat: Date.day.minutes.poly.2"
## [1] "feat: Date.day.minutes.poly.3"
## [1] "feat: Date.day.minutes.poly.4"
## [1] "feat: Date.day.minutes.poly.5"
## [1] "feat: Date.last1.log"
## [1] "feat: Date.last10.log"
## [1] "feat: Date.last100.log"
## [1] "feat: .rnorm"
# Convert factors to dummy variables
# Build splines require(splines); bsBasis <- bs(training$age, df=3)
#pairs(subset(glb_trnobs_df, select=-c(col_symbol)))
# Check for glb_newobs_df & glb_trnobs_df features range mismatches
# Other diagnostics:
# print(subset(glb_trnobs_df, <col1_name> == max(glb_trnobs_df$<col1_name>, na.rm=TRUE) &
# <col2_name> <= mean(glb_trnobs_df$<col1_name>, na.rm=TRUE)))
# print(glb_trnobs_df[which.max(glb_trnobs_df$<col_name>),])
# print(<col_name>_freq_glb_trnobs_df <- mycreate_tbl_df(glb_trnobs_df, "<col_name>"))
print(District_freq_df <- mycreate_tbl_df(glb_allobs_df, "District"))
## District .freq
## 1 31 1
## 2 23 5
## 3 21 29
## 4 20 2494
## 5 1 2598
## 6 18 3425
## 7 24 3930
## 8 13 4013
## 9 12 4090
## 10 22 4290
## 11 15 4795
## 12 16 4959
## 13 5 5568
## 14 19 5797
## 15 3 6225
## 16 10 6374
## 17 17 6684
## 18 4 7073
## 19 2 7571
## 20 11 7805
## 21 14 7898
## 22 6 8400
## 23 7 8831
## 24 9 9848
## 25 25 12824
## 26 8 13058
## 27 <NA> 43056
# print(which.min(table(glb_trnobs_df$<col_name>)))
# print(which.max(table(glb_trnobs_df$<col_name>)))
# print(which.max(table(glb_trnobs_df$<col1_name>, glb_trnobs_df$<col2_name>)[, 2]))
# print(table(glb_trnobs_df$<col1_name>, glb_trnobs_df$<col2_name>))
# print(table(is.na(glb_trnobs_df$<col1_name>), glb_trnobs_df$<col2_name>))
# print(table(sign(glb_trnobs_df$<col1_name>), glb_trnobs_df$<col2_name>))
# print(mycreate_xtab_df(glb_trnobs_df, <col1_name>))
# print(mycreate_xtab_df(glb_trnobs_df, c(<col1_name>, <col2_name>)))
print(mycreate_sqlxtab_df(glb_allobs_df, c("LocationDescription")))
## LocationDescription .n
## 1 STREET 156564
## 2 PARKING LOT/GARAGE(NON.RESID.) 14852
## 3 OTHER 4573
## 4 ALLEY 2308
## 5 GAS STATION 2111
## 6 DRIVEWAY - RESIDENTIAL 1675
## 7 RESIDENTIAL YARD (FRONT/BACK) 1536
## 8 RESIDENCE 1302
## 9 RESIDENCE-GARAGE 1176
## 10 VACANT LOT/LAND 985
## 11 VEHICLE NON-COMMERCIAL 817
## 12 SIDEWALK 462
## 13 CHA PARKING LOT/GROUNDS 405
## 14 AIRPORT/AIRCRAFT 363
## 15 POLICE FACILITY/VEH PARKING LOT 266
## 16 PARK PROPERTY 255
## 17 SCHOOL, PUBLIC, GROUNDS 206
## 18 APARTMENT 184
## 19 SPORTS ARENA/STADIUM 166
## 20 CTA GARAGE / OTHER PROPERTY 148
## 21 COMMERCIAL / BUSINESS OFFICE 126
## 22 HOTEL/MOTEL 124
## 23 SCHOOL, PUBLIC, BUILDING 114
## 24 HOSPITAL BUILDING/GROUNDS 101
## 25 GROCERY FOOD STORE 80
## 26 CHURCH/SYNAGOGUE/PLACE OF WORSHIP 56
## 27 RESTAURANT 49
## 28 GOVERNMENT BUILDING/PROPERTY 48
## 29 COLLEGE/UNIVERSITY GROUNDS 47
## 30 CAR WASH 44
## 31 CONSTRUCTION SITE 35
## 32 SMALL RETAIL STORE 33
## 33 OTHER RAILROAD PROP / TRAIN DEPOT 28
## 34 AIRPORT EXTERIOR - NON-SECURE AREA 24
## 35 SCHOOL, PRIVATE, GROUNDS 23
## 36 VEHICLE-COMMERCIAL 23
## 37 DEPARTMENT STORE 22
## 38 HIGHWAY/EXPRESSWAY 22
## 39 NURSING HOME/RETIREMENT HOME 21
## 40 TAXICAB 21
## 41 MOVIE HOUSE/THEATER 18
## 42 RESIDENCE PORCH/HALLWAY 18
## 43 BAR OR TAVERN 17
## 44 WAREHOUSE 17
## 45 FACTORY/MANUFACTURING BUILDING 16
## 46 SCHOOL, PRIVATE, BUILDING 14
## 47 TAVERN/LIQUOR STORE 14
## 48 AIRPORT PARKING LOT 11
## 49 AIRPORT VENDING ESTABLISHMENT 10
## 50 ATHLETIC CLUB 9
## 51 DRUG STORE 8
## 52 OTHER COMMERCIAL TRANSPORTATION 8
## 53 BANK 7
## 54 CONVENIENCE STORE 7
## 55 FOREST PRESERVE 6
## 56 AIRPORT TERMINAL UPPER LEVEL - NON-SECURE AREA 5
## 57 CHA APARTMENT 5
## 58 DAY CARE CENTER 5
## 59 FIRE STATION 5
## 60 ABANDONED BUILDING 4
## 61 AIRPORT BUILDING NON-TERMINAL - NON-SECURE AREA 4
## 62 BARBERSHOP 4
## 63 LAKEFRONT/WATERFRONT/RIVERBANK 4
## 64 LIBRARY 4
## 65 SAVINGS AND LOAN 4
## 66 BOWLING ALLEY 3
## 67 CLEANING STORE 3
## 68 MEDICAL/DENTAL OFFICE 3
## 69 BRIDGE 2
## 70 COLLEGE/UNIVERSITY RESIDENCE HALL 2
## 71 CURRENCY EXCHANGE 2
## 72 AIRPORT BUILDING NON-TERMINAL - SECURE AREA 1
## 73 AIRPORT EXTERIOR - SECURE AREA 1
## 74 ANIMAL HOSPITAL 1
## 75 APPLIANCE STORE 1
## 76 CTA TRAIN 1
## 77 JAIL / LOCK-UP FACILITY 1
## 78 NEWSSTAND 1
print(mycreate_xtab_df(glb_allobs_df, c("Beat", "District")))
## Beat District.1 District.2 District.3 District.4 District.5 District.6
## 1 111 216 NA NA NA NA NA
## 2 112 87 NA NA NA NA NA
## 3 113 102 NA NA NA NA NA
## 4 114 4 NA NA NA NA NA
## 5 121 12 NA NA NA NA NA
## 6 122 95 NA NA NA NA NA
## 7 123 89 NA NA NA NA NA
## 8 124 113 NA NA NA NA NA
## 9 130 1 NA NA NA NA NA
## 10 131 461 NA NA NA NA NA
## 11 132 474 NA NA NA NA NA
## 12 133 203 NA NA NA NA NA
## 13 134 257 NA NA NA NA NA
## 14 211 NA 343 NA NA NA NA
## 15 212 NA 225 NA NA NA NA
## 16 213 NA 432 NA NA NA NA
## 17 214 NA 305 NA NA NA NA
## 18 215 NA 21 NA NA NA NA
## 19 221 NA 348 NA NA NA NA
## 20 222 NA 395 NA NA NA NA
## 21 223 NA 512 NA NA NA NA
## 22 224 NA 298 NA NA NA NA
## 23 225 NA 31 NA NA NA NA
## 24 231 NA 178 NA NA NA NA
## 25 232 NA 425 NA NA NA NA
## 26 233 NA 626 NA NA NA NA
## 27 234 NA 563 NA NA NA NA
## 28 235 NA 34 NA NA NA NA
## 29 311 NA NA 324 NA NA NA
## 30 312 NA NA 470 NA NA NA
## 31 313 NA NA 362 NA NA NA
## 32 314 NA NA 415 NA NA NA
## 33 321 NA NA 578 NA NA NA
## 34 322 NA NA 650 NA NA NA
## 35 323 NA NA 869 NA NA NA
## 36 324 NA NA 599 NA NA NA
## 37 331 NA NA 650 NA NA NA
## 38 332 NA NA 503 NA NA NA
## 39 333 NA NA 355 NA NA NA
## 40 334 NA NA 437 NA NA NA
## 41 411 NA NA NA 617 NA NA
## 42 412 NA NA NA 897 NA NA
## 43 413 NA NA NA 691 NA NA
## 44 414 NA NA 2 961 NA NA
## 45 421 NA NA NA 819 NA NA
## 46 422 NA NA NA 440 NA NA
## 47 423 NA NA NA 809 NA NA
## 48 424 NA NA NA 386 NA NA
## 49 431 NA NA NA 543 NA NA
## 50 432 NA NA NA 433 NA NA
## 51 433 NA NA NA 284 NA NA
## 52 434 NA NA NA 193 NA NA
## 53 511 NA NA NA NA 1102 9
## 54 512 NA NA NA NA 633 NA
## 55 513 NA NA NA NA 556 NA
## 56 522 NA NA NA NA 586 NA
## 57 523 NA NA NA NA 819 NA
## 58 524 NA NA NA NA 604 NA
## 59 531 NA NA NA NA 498 NA
## 60 532 NA NA NA NA 455 NA
## 61 533 NA NA NA NA 313 NA
## 62 611 NA NA NA NA NA 552
## 63 612 NA NA NA NA NA 813
## 64 613 NA NA NA NA NA 675
## 65 614 NA NA NA NA NA 544
## 66 621 NA NA NA NA NA 689
## 67 622 NA NA NA NA NA 426
## 68 623 NA NA NA NA NA 888
## 69 624 NA NA NA NA NA 786
## 70 631 NA NA NA NA NA 854
## 71 632 NA NA NA NA NA 965
## 72 633 NA NA NA NA NA 462
## 73 634 NA NA NA NA NA 737
## 74 711 NA NA NA NA NA NA
## 75 712 NA NA NA NA NA NA
## 76 713 NA NA NA NA NA NA
## 77 714 NA NA NA NA NA NA
## 78 715 NA NA NA NA NA NA
## 79 722 NA NA 7 NA NA NA
## 80 723 NA NA NA NA NA NA
## 81 724 NA NA NA NA NA NA
## 82 725 NA NA NA NA NA NA
## 83 726 NA NA NA NA NA NA
## 84 731 NA NA NA NA NA NA
## 85 732 NA NA NA NA NA NA
## 86 733 NA NA NA NA NA NA
## 87 734 NA NA NA NA NA NA
## 88 735 NA NA NA NA NA NA
## 89 811 NA NA NA NA NA NA
## 90 812 NA NA NA NA NA NA
## 91 813 NA NA NA NA NA NA
## 92 814 NA NA NA NA NA NA
## 93 815 NA NA NA NA NA NA
## 94 821 NA NA NA NA NA NA
## 95 822 NA NA NA NA NA NA
## 96 823 NA NA NA NA NA NA
## 97 824 NA NA NA NA NA NA
## 98 825 NA NA NA NA NA NA
## 99 831 NA NA NA NA NA NA
## 100 832 NA NA 1 NA NA NA
## 101 833 NA NA NA NA NA NA
## 102 834 NA NA NA NA NA NA
## 103 835 NA NA NA NA NA NA
## 104 911 NA NA NA NA NA NA
## 105 912 NA NA NA NA NA NA
## 106 913 NA NA NA NA NA NA
## 107 914 NA NA NA NA NA NA
## 108 915 NA NA NA NA NA NA
## 109 921 NA NA NA NA NA NA
## 110 922 NA NA NA NA NA NA
## 111 923 NA NA NA NA NA NA
## 112 924 NA NA NA NA NA NA
## 113 925 NA NA NA NA NA NA
## 114 931 NA NA NA NA NA NA
## 115 932 NA NA NA NA NA NA
## 116 933 NA NA NA NA NA NA
## 117 934 NA 3 NA NA NA NA
## 118 935 NA NA NA NA NA NA
## 119 1011 NA NA NA NA NA NA
## 120 1012 NA NA NA NA NA NA
## 121 1013 NA NA NA NA NA NA
## 122 1014 NA NA NA NA NA NA
## 123 1021 NA NA NA NA NA NA
## 124 1022 NA NA NA NA NA NA
## 125 1023 NA NA NA NA NA NA
## 126 1024 NA NA NA NA NA NA
## 127 1031 NA NA NA NA NA NA
## 128 1032 NA NA NA NA NA NA
## 129 1033 NA NA NA NA NA NA
## 130 1034 NA NA NA NA NA NA
## 131 1111 NA NA NA NA NA NA
## 132 1112 NA NA NA NA NA NA
## 133 1113 NA NA NA NA NA NA
## 134 1114 NA NA NA NA NA NA
## 135 1115 NA NA NA NA NA NA
## 136 1121 NA NA NA NA NA NA
## 137 1122 NA NA NA NA NA NA
## 138 1123 NA NA NA NA NA NA
## 139 1124 NA NA NA NA NA NA
## 140 1125 NA NA NA NA NA NA
## 141 1131 NA NA NA NA NA NA
## 142 1132 NA NA NA NA NA NA
## 143 1133 NA NA NA NA NA NA
## 144 1134 NA NA NA NA NA NA
## 145 1135 NA NA NA NA NA NA
## 146 1211 NA NA NA NA NA NA
## 147 1212 NA NA NA NA NA NA
## 148 1213 NA NA NA NA NA NA
## 149 1214 NA NA NA NA NA NA
## 150 1215 NA NA NA NA NA NA
## 151 1221 NA NA NA NA NA NA
## 152 1222 NA NA NA NA NA NA
## 153 1223 NA NA NA NA NA NA
## 154 1224 NA NA NA NA NA NA
## 155 1225 NA NA NA NA NA NA
## 156 1231 NA NA NA NA NA NA
## 157 1232 1 NA NA NA NA NA
## 158 1233 NA NA NA NA NA NA
## 159 1234 NA NA NA NA NA NA
## 160 1235 NA NA NA NA NA NA
## 161 1311 NA NA NA NA NA NA
## 162 1312 NA NA NA NA NA NA
## 163 1313 NA NA NA NA NA NA
## 164 1322 NA NA NA NA NA NA
## 165 1323 NA NA NA NA NA NA
## 166 1324 NA NA NA NA NA NA
## 167 1331 NA NA NA NA NA NA
## 168 1332 NA NA NA NA NA NA
## 169 1333 NA NA NA NA NA NA
## 170 1411 NA NA NA NA NA NA
## 171 1412 NA NA NA NA NA NA
## 172 1413 NA NA NA NA NA NA
## 173 1414 NA NA NA NA NA NA
## 174 1421 NA NA NA NA NA NA
## 175 1422 NA NA NA NA NA NA
## 176 1423 NA NA NA NA NA NA
## 177 1424 NA NA NA NA NA NA
## 178 1431 NA NA NA NA NA NA
## 179 1432 NA NA NA NA NA NA
## 180 1433 NA NA NA NA NA NA
## 181 1434 NA NA NA NA NA NA
## 182 1511 NA NA NA NA NA NA
## 183 1512 NA NA NA NA NA NA
## 184 1513 NA NA NA NA NA NA
## 185 1522 NA NA NA NA NA NA
## 186 1523 NA NA NA NA NA NA
## 187 1524 NA NA NA NA NA NA
## 188 1531 NA NA NA NA NA NA
## 189 1532 NA NA NA NA NA NA
## 190 1533 NA NA NA NA NA NA
## 191 1611 NA NA NA NA NA NA
## 192 1612 NA NA NA NA NA NA
## 193 1613 NA NA NA NA NA NA
## 194 1614 NA NA NA NA NA NA
## 195 1621 NA NA NA NA NA NA
## 196 1622 NA NA NA NA NA NA
## 197 1623 NA NA NA NA NA NA
## 198 1624 NA NA NA NA NA NA
## 199 1631 NA NA NA NA NA NA
## 200 1632 NA NA NA NA NA NA
## 201 1633 NA NA NA NA NA NA
## 202 1634 NA NA NA NA NA NA
## 203 1651 NA NA NA NA NA NA
## 204 1654 NA NA NA NA NA NA
## 205 1711 NA NA NA NA NA NA
## 206 1712 NA NA NA NA NA NA
## 207 1713 NA NA NA NA NA NA
## 208 1722 NA NA NA NA NA NA
## 209 1723 NA NA NA NA NA NA
## 210 1724 NA NA NA NA NA NA
## 211 1731 NA NA NA NA NA NA
## 212 1732 NA NA NA NA NA NA
## 213 1733 NA NA NA NA NA NA
## 214 1811 NA NA NA NA NA NA
## 215 1812 NA NA NA NA NA NA
## 216 1813 NA NA NA NA NA NA
## 217 1814 NA NA NA NA NA NA
## 218 1821 NA NA NA NA NA NA
## 219 1822 NA NA NA NA NA NA
## 220 1823 NA NA NA NA NA NA
## 221 1824 NA NA NA NA NA NA
## 222 1831 NA NA NA NA NA NA
## 223 1832 NA NA NA NA NA NA
## 224 1833 NA NA NA NA NA NA
## 225 1834 1 NA NA NA NA NA
## 226 1911 NA NA NA NA NA NA
## 227 1912 NA NA NA NA NA NA
## 228 1913 NA NA NA NA NA NA
## 229 1914 NA NA NA NA NA NA
## 230 1915 NA NA NA NA NA NA
## 231 1921 NA NA NA NA NA NA
## 232 1922 NA NA NA NA NA NA
## 233 1923 NA NA NA NA NA NA
## 234 1924 NA NA NA NA NA NA
## 235 1925 NA NA NA NA NA NA
## 236 1931 NA NA NA NA NA NA
## 237 1932 NA NA NA NA NA NA
## 238 1933 NA NA NA NA NA NA
## 239 1934 NA NA NA NA NA NA
## 240 1935 NA NA NA NA NA NA
## 241 2011 NA NA NA NA NA NA
## 242 2012 NA NA NA NA NA NA
## 243 2013 NA NA NA NA NA NA
## 244 2022 NA NA NA NA NA NA
## 245 2023 NA NA NA NA NA NA
## 246 2024 NA NA NA NA NA NA
## 247 2031 NA NA NA NA NA NA
## 248 2032 NA NA NA NA NA NA
## 249 2033 NA NA NA NA NA NA
## 250 2111 10 NA NA NA NA NA
## 251 2112 189 176 NA NA NA NA
## 252 2113 174 49 NA NA NA NA
## 253 2122 109 332 NA NA NA NA
## 254 2123 NA 472 NA NA NA NA
## 255 2124 NA 477 NA NA NA NA
## 256 2131 NA 324 NA NA NA NA
## 257 2132 NA 602 3 NA NA NA
## 258 2133 NA 400 NA NA NA NA
## 259 2211 NA NA NA NA NA NA
## 260 2212 NA NA NA NA 1 NA
## 261 2213 NA NA NA NA NA NA
## 262 2221 NA NA NA NA NA NA
## 263 2222 NA NA NA NA NA NA
## 264 2223 NA NA NA NA NA NA
## 265 2232 NA NA NA NA NA NA
## 266 2233 NA NA NA NA 1 NA
## 267 2234 NA NA NA NA NA NA
## 268 2311 NA NA NA NA NA NA
## 269 2312 NA NA NA NA NA NA
## 270 2313 NA NA NA NA NA NA
## 271 2322 NA NA NA NA NA NA
## 272 2323 NA NA NA NA NA NA
## 273 2324 NA NA NA NA NA NA
## 274 2331 NA NA NA NA NA NA
## 275 2332 NA NA NA NA NA NA
## 276 2333 NA NA NA NA NA NA
## 277 2411 NA NA NA NA NA NA
## 278 2412 NA NA NA NA NA NA
## 279 2413 NA NA NA NA NA NA
## 280 2422 NA NA NA NA NA NA
## 281 2423 NA NA NA NA NA NA
## 282 2424 NA NA NA NA NA NA
## 283 2431 NA NA NA NA NA NA
## 284 2432 NA NA NA NA NA NA
## 285 2433 NA NA NA NA NA NA
## 286 2511 NA NA NA NA NA NA
## 287 2512 NA NA NA NA NA NA
## 288 2513 NA NA NA NA NA NA
## 289 2514 NA NA NA NA NA NA
## 290 2515 NA NA NA NA NA NA
## 291 2521 NA NA NA NA NA NA
## 292 2522 NA NA NA NA NA NA
## 293 2523 NA NA NA NA NA NA
## 294 2524 NA NA NA NA NA NA
## 295 2525 NA NA NA NA NA NA
## 296 2531 NA NA NA NA NA NA
## 297 2532 NA NA NA NA NA NA
## 298 2533 NA NA NA NA NA NA
## 299 2534 NA NA NA NA NA NA
## 300 2535 NA NA NA NA NA NA
## District.7 District.8 District.9 District.10 District.11 District.12
## 1 NA NA NA NA NA 2
## 2 NA NA NA NA NA NA
## 3 NA NA NA NA NA NA
## 4 NA NA NA NA NA NA
## 5 NA NA NA NA NA NA
## 6 NA NA NA NA NA NA
## 7 NA NA NA NA NA NA
## 8 NA NA NA NA NA NA
## 9 NA NA NA NA NA NA
## 10 NA NA NA NA NA 1
## 11 NA NA NA NA NA NA
## 12 NA NA NA NA NA 1
## 13 NA NA NA NA NA NA
## 14 NA NA NA NA NA NA
## 15 NA NA NA NA NA NA
## 16 NA NA NA NA NA NA
## 17 NA NA NA NA NA NA
## 18 NA NA NA NA NA NA
## 19 NA NA NA NA NA NA
## 20 NA NA NA NA NA NA
## 21 NA NA NA NA NA NA
## 22 NA NA NA NA NA NA
## 23 NA NA NA NA NA NA
## 24 NA NA NA NA NA NA
## 25 NA NA NA NA NA NA
## 26 11 NA NA NA NA NA
## 27 NA NA NA NA NA NA
## 28 NA NA NA NA NA NA
## 29 NA NA NA NA NA NA
## 30 NA NA NA NA NA NA
## 31 NA NA NA NA NA NA
## 32 NA NA NA NA NA NA
## 33 NA NA NA NA NA NA
## 34 15 NA NA NA NA NA
## 35 7 NA NA NA NA NA
## 36 NA NA NA NA NA NA
## 37 NA NA NA NA NA NA
## 38 NA NA NA NA NA NA
## 39 NA NA NA NA NA NA
## 40 NA NA NA NA NA NA
## 41 NA NA NA NA 1 NA
## 42 NA NA NA NA NA NA
## 43 NA NA NA NA NA NA
## 44 NA NA NA NA NA NA
## 45 NA NA NA NA NA NA
## 46 NA NA NA NA NA NA
## 47 NA NA NA NA NA NA
## 48 NA NA NA NA NA NA
## 49 NA NA NA NA NA NA
## 50 NA NA NA NA NA NA
## 51 NA NA NA NA NA NA
## 52 NA NA NA NA NA NA
## 53 NA NA NA NA NA NA
## 54 NA NA NA NA NA NA
## 55 NA NA NA NA NA NA
## 56 NA NA NA NA NA NA
## 57 NA NA NA NA NA NA
## 58 NA NA NA NA NA NA
## 59 NA NA NA NA NA NA
## 60 NA NA NA NA NA NA
## 61 NA NA NA NA NA NA
## 62 NA NA NA NA NA NA
## 63 NA NA NA NA NA NA
## 64 NA NA NA NA NA NA
## 65 NA NA NA NA NA NA
## 66 NA NA NA NA NA NA
## 67 NA NA NA NA NA NA
## 68 4 NA NA NA NA NA
## 69 NA NA NA NA NA NA
## 70 NA NA NA NA NA NA
## 71 NA NA NA NA NA NA
## 72 NA NA NA NA NA NA
## 73 NA NA NA NA NA NA
## 74 737 NA 6 NA NA NA
## 75 542 NA NA NA NA NA
## 76 656 NA NA NA NA NA
## 77 393 NA NA NA NA NA
## 78 426 NA NA NA NA NA
## 79 690 NA NA NA NA NA
## 80 584 NA NA NA NA NA
## 81 522 NA NA NA NA NA
## 82 688 NA NA NA NA NA
## 83 455 NA NA NA NA NA
## 84 807 NA NA NA NA NA
## 85 481 NA NA NA NA NA
## 86 635 NA NA NA NA NA
## 87 508 NA NA NA NA NA
## 88 670 NA NA NA NA NA
## 89 NA 359 NA NA NA NA
## 90 NA 330 NA NA NA NA
## 91 NA 900 NA NA NA NA
## 92 NA 460 NA NA NA NA
## 93 NA 1149 NA NA NA NA
## 94 NA 609 1 NA NA NA
## 95 NA 856 NA NA NA NA
## 96 NA 1294 NA NA NA NA
## 97 NA 1172 NA NA NA NA
## 98 NA 838 NA NA NA NA
## 99 NA 1244 NA NA NA NA
## 100 NA 995 NA NA NA NA
## 101 NA 964 NA NA NA NA
## 102 NA 769 NA NA NA NA
## 103 NA 1118 NA NA NA NA
## 104 NA NA 1044 NA NA NA
## 105 NA NA 1074 NA NA NA
## 106 NA NA 878 NA NA NA
## 107 NA NA 1009 NA NA NA
## 108 NA NA 780 NA NA NA
## 109 NA NA 312 NA NA NA
## 110 NA NA 570 NA NA NA
## 111 NA NA 684 NA NA NA
## 112 NA NA 523 NA NA NA
## 113 NA NA 279 NA NA NA
## 114 NA NA 583 NA NA NA
## 115 NA NA 383 NA NA NA
## 116 NA NA 339 NA NA NA
## 117 NA NA 500 NA NA NA
## 118 NA NA 520 NA NA NA
## 119 NA NA NA 579 NA NA
## 120 NA NA NA 398 NA NA
## 121 NA NA NA 607 NA NA
## 122 NA NA NA 439 NA NA
## 123 NA NA NA 423 NA NA
## 124 NA NA NA 517 NA NA
## 125 NA NA NA 402 NA NA
## 126 NA NA NA 550 NA NA
## 127 NA NA NA 738 NA NA
## 128 NA NA NA 530 NA NA
## 129 NA NA NA 567 NA NA
## 130 NA NA NA 624 NA NA
## 131 NA NA NA NA 809 NA
## 132 NA NA NA NA 646 NA
## 133 NA NA NA NA 588 NA
## 134 NA NA NA NA 308 NA
## 135 NA NA NA NA 345 NA
## 136 NA NA NA NA 608 NA
## 137 NA NA NA NA 639 NA
## 138 NA NA NA NA 535 NA
## 139 NA NA NA NA 393 NA
## 140 NA NA NA NA 179 NA
## 141 NA NA NA NA 471 NA
## 142 NA NA NA NA 537 NA
## 143 NA NA NA NA 726 NA
## 144 NA NA NA NA 466 NA
## 145 NA NA NA NA 547 NA
## 146 NA NA NA NA NA 797
## 147 NA NA NA NA NA 592
## 148 NA NA NA NA NA 439
## 149 NA NA NA NA NA 7
## 150 NA NA NA NA NA 9
## 151 NA NA NA NA NA 5
## 152 NA NA NA NA NA 368
## 153 NA NA NA NA NA 391
## 154 NA NA NA NA NA 513
## 155 NA NA NA NA NA 7
## 156 NA NA NA NA NA 198
## 157 NA NA NA NA NA 211
## 158 NA NA NA NA NA 498
## 159 NA NA NA NA NA 9
## 160 NA NA NA NA NA 20
## 161 NA NA NA NA NA 2
## 162 NA NA NA NA NA 3
## 163 NA NA NA NA NA 1
## 164 NA NA NA NA NA 3
## 165 NA NA NA NA NA 6
## 166 NA NA NA NA NA 2
## 167 NA NA NA NA 1 NA
## 168 NA NA NA NA 1 2
## 169 NA NA NA NA NA 3
## 170 NA NA NA NA NA NA
## 171 NA NA NA NA NA NA
## 172 NA NA NA NA NA NA
## 173 NA NA NA NA NA NA
## 174 NA NA NA NA NA NA
## 175 NA NA NA NA NA NA
## 176 NA NA NA NA NA NA
## 177 NA NA NA NA NA NA
## 178 NA NA NA NA NA NA
## 179 NA NA NA NA NA NA
## 180 NA NA NA NA NA NA
## 181 NA NA NA NA NA NA
## 182 NA NA NA NA NA NA
## 183 NA NA NA NA NA NA
## 184 NA NA NA NA NA NA
## 185 NA NA NA NA NA NA
## 186 NA NA NA NA NA NA
## 187 NA NA NA NA NA NA
## 188 NA NA NA NA NA NA
## 189 NA NA NA NA 4 NA
## 190 NA NA NA NA NA NA
## 191 NA NA NA NA NA NA
## 192 NA NA NA NA NA NA
## 193 NA NA NA NA NA NA
## 194 NA NA NA NA NA NA
## 195 NA NA NA NA NA NA
## 196 NA NA NA NA NA NA
## 197 NA NA NA NA NA NA
## 198 NA NA NA NA NA NA
## 199 NA NA NA NA NA NA
## 200 NA NA NA NA NA NA
## 201 NA NA NA NA NA NA
## 202 NA NA NA NA NA NA
## 203 NA NA NA NA NA NA
## 204 NA NA NA NA NA NA
## 205 NA NA NA NA NA NA
## 206 NA NA NA NA NA NA
## 207 NA NA NA NA NA NA
## 208 NA NA NA NA NA NA
## 209 NA NA NA NA NA NA
## 210 NA NA NA NA NA NA
## 211 NA NA NA NA NA NA
## 212 NA NA NA NA NA NA
## 213 NA NA NA NA NA NA
## 214 NA NA NA NA NA NA
## 215 NA NA NA NA NA NA
## 216 NA NA NA NA NA NA
## 217 NA NA NA NA NA NA
## 218 NA NA NA NA NA NA
## 219 NA NA NA NA NA NA
## 220 NA NA NA NA NA NA
## 221 NA NA NA NA NA NA
## 222 NA NA NA NA NA NA
## 223 NA NA NA NA NA NA
## 224 NA NA NA NA NA NA
## 225 NA NA NA NA NA NA
## 226 NA NA NA NA NA NA
## 227 NA NA NA NA NA NA
## 228 NA NA NA NA NA NA
## 229 NA NA NA NA NA NA
## 230 NA NA NA NA NA NA
## 231 NA NA NA NA NA NA
## 232 NA NA NA NA NA NA
## 233 NA NA NA NA NA NA
## 234 NA NA NA NA NA NA
## 235 NA NA NA NA NA NA
## 236 NA NA NA NA NA NA
## 237 NA NA NA NA NA NA
## 238 NA NA NA NA NA NA
## 239 NA NA NA NA NA NA
## 240 NA NA NA NA NA NA
## 241 NA NA NA NA NA NA
## 242 NA NA 1 NA NA NA
## 243 NA NA NA NA NA NA
## 244 NA NA NA NA NA NA
## 245 NA NA NA NA NA NA
## 246 NA NA NA NA NA NA
## 247 NA NA NA NA NA NA
## 248 NA NA NA NA NA NA
## 249 NA NA NA NA NA NA
## 250 NA NA 168 NA NA NA
## 251 NA NA NA NA NA NA
## 252 NA NA 194 NA NA NA
## 253 NA NA NA NA NA NA
## 254 NA NA NA NA NA NA
## 255 NA NA NA NA NA NA
## 256 NA NA NA NA NA NA
## 257 NA NA NA NA NA NA
## 258 NA NA NA NA NA NA
## 259 NA NA NA NA NA NA
## 260 NA NA NA NA NA NA
## 261 NA NA NA NA NA NA
## 262 NA NA NA NA NA NA
## 263 NA NA NA NA NA NA
## 264 NA NA NA NA NA NA
## 265 NA NA NA NA NA NA
## 266 NA NA NA NA NA NA
## 267 NA NA NA NA NA NA
## 268 NA NA NA NA NA NA
## 269 NA NA NA NA NA NA
## 270 NA NA NA NA NA NA
## 271 NA NA NA NA NA NA
## 272 NA NA NA NA NA NA
## 273 NA NA NA NA NA NA
## 274 NA NA NA NA NA NA
## 275 NA NA NA NA NA NA
## 276 NA NA NA NA NA NA
## 277 NA 1 NA NA NA NA
## 278 NA NA NA NA NA NA
## 279 NA NA NA NA NA NA
## 280 NA NA NA NA NA NA
## 281 NA NA NA NA NA NA
## 282 NA NA NA NA NA NA
## 283 NA NA NA NA NA NA
## 284 NA NA NA NA NA NA
## 285 NA NA NA NA NA NA
## 286 NA NA NA NA NA NA
## 287 NA NA NA NA NA NA
## 288 NA NA NA NA NA NA
## 289 NA NA NA NA NA NA
## 290 NA NA NA NA NA NA
## 291 NA NA NA NA NA NA
## 292 NA NA NA NA NA NA
## 293 NA NA NA NA NA NA
## 294 NA NA NA NA NA NA
## 295 NA NA NA NA NA NA
## 296 NA NA NA NA NA NA
## 297 NA NA NA NA NA NA
## 298 NA NA NA NA NA NA
## 299 NA NA NA NA NA NA
## 300 NA NA NA NA 1 NA
## District.13 District.14 District.15 District.16 District.17
## 1 NA NA NA NA NA
## 2 NA NA NA NA NA
## 3 NA NA NA NA NA
## 4 NA NA NA NA NA
## 5 NA NA NA NA NA
## 6 NA NA NA NA NA
## 7 NA NA NA NA NA
## 8 NA NA NA NA NA
## 9 NA NA NA NA NA
## 10 NA NA NA NA NA
## 11 NA NA NA NA NA
## 12 NA NA NA NA NA
## 13 NA NA NA NA NA
## 14 NA NA NA NA NA
## 15 NA NA NA NA NA
## 16 NA NA NA NA NA
## 17 NA NA NA NA NA
## 18 NA NA NA NA NA
## 19 NA NA NA NA NA
## 20 NA NA NA NA NA
## 21 NA NA NA NA NA
## 22 NA NA NA NA NA
## 23 NA NA NA NA NA
## 24 NA NA NA NA NA
## 25 NA NA NA NA NA
## 26 NA NA NA NA NA
## 27 NA NA NA NA NA
## 28 NA NA NA NA NA
## 29 NA NA NA NA NA
## 30 NA NA NA NA NA
## 31 NA NA NA NA NA
## 32 NA NA NA NA NA
## 33 NA NA NA NA NA
## 34 NA NA NA NA NA
## 35 NA NA NA NA NA
## 36 NA NA NA NA NA
## 37 NA NA NA NA NA
## 38 NA NA NA NA NA
## 39 NA NA NA NA NA
## 40 NA NA NA NA NA
## 41 NA NA NA NA NA
## 42 NA NA NA NA NA
## 43 NA NA NA NA NA
## 44 NA NA NA NA NA
## 45 NA NA NA NA NA
## 46 NA NA NA NA NA
## 47 NA NA NA NA NA
## 48 NA NA NA NA NA
## 49 NA NA NA NA NA
## 50 NA NA NA NA NA
## 51 NA NA NA NA NA
## 52 NA NA NA NA NA
## 53 NA NA NA NA NA
## 54 NA NA NA NA NA
## 55 NA NA NA NA NA
## 56 NA NA NA NA NA
## 57 NA NA NA NA NA
## 58 NA NA NA NA NA
## 59 NA NA NA NA NA
## 60 NA NA NA NA NA
## 61 NA NA NA NA NA
## 62 NA NA NA NA NA
## 63 NA NA NA NA NA
## 64 NA NA NA NA NA
## 65 NA NA NA NA NA
## 66 NA NA NA NA NA
## 67 NA NA NA NA NA
## 68 NA NA NA NA NA
## 69 NA NA NA NA NA
## 70 NA NA NA NA NA
## 71 NA NA NA NA NA
## 72 NA NA NA NA NA
## 73 NA NA NA NA NA
## 74 NA NA NA NA NA
## 75 NA NA NA NA NA
## 76 NA NA NA NA NA
## 77 NA NA NA NA NA
## 78 NA NA NA NA NA
## 79 NA NA NA NA NA
## 80 NA NA NA NA NA
## 81 NA NA NA NA NA
## 82 NA NA NA NA NA
## 83 NA NA NA NA NA
## 84 NA NA NA NA NA
## 85 NA NA NA NA NA
## 86 NA NA NA NA NA
## 87 NA NA NA NA NA
## 88 1 NA NA NA NA
## 89 NA NA NA NA NA
## 90 NA NA NA NA NA
## 91 NA NA NA NA 1
## 92 NA NA NA NA NA
## 93 NA NA NA NA NA
## 94 NA NA NA NA NA
## 95 NA NA NA NA NA
## 96 NA NA NA NA NA
## 97 NA NA NA NA NA
## 98 NA NA NA NA NA
## 99 NA NA NA NA NA
## 100 NA NA NA NA NA
## 101 NA NA NA NA NA
## 102 NA NA NA NA NA
## 103 NA NA NA NA NA
## 104 NA NA NA NA NA
## 105 NA NA NA NA NA
## 106 NA NA NA NA NA
## 107 NA NA NA NA NA
## 108 NA NA NA NA NA
## 109 NA NA NA NA NA
## 110 NA NA NA NA NA
## 111 NA NA NA NA NA
## 112 NA NA NA NA NA
## 113 NA NA NA NA NA
## 114 NA NA NA NA NA
## 115 NA NA NA NA NA
## 116 NA NA NA NA NA
## 117 NA NA NA NA NA
## 118 NA NA NA NA NA
## 119 NA NA NA NA NA
## 120 NA NA NA NA NA
## 121 NA NA NA NA NA
## 122 NA NA NA NA NA
## 123 NA NA NA NA NA
## 124 NA NA NA NA NA
## 125 NA NA NA NA NA
## 126 NA NA NA NA NA
## 127 NA NA NA NA NA
## 128 NA NA NA NA NA
## 129 NA NA NA NA NA
## 130 NA NA NA NA NA
## 131 NA NA NA NA NA
## 132 NA NA NA NA NA
## 133 NA NA NA NA NA
## 134 NA NA NA NA NA
## 135 NA NA NA NA NA
## 136 NA NA NA NA NA
## 137 NA NA NA NA NA
## 138 NA NA NA NA NA
## 139 NA NA NA NA NA
## 140 NA NA NA NA NA
## 141 NA NA NA NA NA
## 142 NA NA NA NA NA
## 143 NA NA NA NA NA
## 144 NA NA NA NA NA
## 145 NA NA NA NA NA
## 146 NA NA NA NA NA
## 147 NA NA NA NA NA
## 148 NA NA NA NA NA
## 149 NA NA NA NA NA
## 150 NA NA NA NA NA
## 151 NA NA NA NA NA
## 152 NA NA NA NA NA
## 153 NA NA NA NA NA
## 154 NA NA NA NA NA
## 155 1 NA NA NA NA
## 156 NA NA NA NA NA
## 157 NA NA NA NA NA
## 158 NA NA NA NA NA
## 159 NA NA NA NA NA
## 160 NA NA NA NA NA
## 161 443 NA NA NA NA
## 162 476 NA NA NA NA
## 163 545 NA NA NA NA
## 164 269 NA NA NA NA
## 165 680 2 NA NA NA
## 166 476 NA NA NA NA
## 167 506 NA NA NA NA
## 168 299 NA NA NA NA
## 169 309 NA NA NA NA
## 170 NA 866 NA NA NA
## 171 NA 688 NA NA NA
## 172 NA 674 NA NA NA
## 173 NA 577 NA NA NA
## 174 NA 546 NA NA NA
## 175 NA 715 NA NA NA
## 176 NA 362 NA NA NA
## 177 8 651 NA NA NA
## 178 NA 606 NA NA NA
## 179 NA 646 NA NA NA
## 180 NA 780 NA NA NA
## 181 NA 777 NA NA NA
## 182 NA NA 513 NA NA
## 183 NA NA 434 NA NA
## 184 NA NA 371 NA NA
## 185 NA NA 618 NA NA
## 186 NA NA 499 NA NA
## 187 NA NA 490 NA NA
## 188 NA NA 543 NA NA
## 189 NA NA 536 NA NA
## 190 NA NA 791 NA NA
## 191 NA NA NA 165 NA
## 192 NA NA NA 87 NA
## 193 NA NA NA 173 NA
## 194 NA NA NA 241 NA
## 195 NA NA NA 112 NA
## 196 NA NA NA 564 NA
## 197 NA NA NA 497 NA
## 198 NA NA NA 578 NA
## 199 NA NA NA 310 NA
## 200 NA NA NA 443 NA
## 201 NA NA NA 805 NA
## 202 NA NA NA 721 NA
## 203 NA NA NA 208 NA
## 204 NA NA NA 54 NA
## 205 NA NA NA NA 429
## 206 NA NA NA 1 746
## 207 NA NA NA NA 467
## 208 NA NA NA NA 733
## 209 NA NA NA NA 985
## 210 NA NA NA NA 687
## 211 NA NA NA NA 898
## 212 NA NA NA NA 940
## 213 NA 7 NA NA 798
## 214 NA NA NA NA NA
## 215 NA NA NA NA NA
## 216 NA NA NA NA NA
## 217 NA NA NA NA NA
## 218 NA NA NA NA NA
## 219 NA NA NA NA NA
## 220 NA NA NA NA NA
## 221 NA NA NA NA NA
## 222 NA NA NA NA NA
## 223 NA NA NA NA NA
## 224 NA NA NA NA NA
## 225 NA NA NA NA NA
## 226 NA NA NA NA NA
## 227 NA NA NA NA NA
## 228 NA NA NA NA NA
## 229 NA NA NA NA NA
## 230 NA NA NA NA NA
## 231 NA NA NA NA NA
## 232 NA NA NA NA NA
## 233 NA NA NA NA NA
## 234 NA NA NA NA NA
## 235 NA NA NA NA NA
## 236 NA NA NA NA NA
## 237 NA NA NA NA NA
## 238 NA NA NA NA NA
## 239 NA NA NA NA NA
## 240 NA NA NA NA NA
## 241 NA NA NA NA NA
## 242 NA NA NA NA NA
## 243 NA NA NA NA NA
## 244 NA NA NA NA NA
## 245 NA NA NA NA NA
## 246 NA NA NA NA NA
## 247 NA NA NA NA NA
## 248 NA NA NA NA NA
## 249 NA NA NA NA NA
## 250 NA NA NA NA NA
## 251 NA NA NA NA NA
## 252 NA NA NA NA NA
## 253 NA NA NA NA NA
## 254 NA NA NA NA NA
## 255 NA NA NA NA NA
## 256 NA NA NA NA NA
## 257 NA NA NA NA NA
## 258 NA NA NA NA NA
## 259 NA NA NA NA NA
## 260 NA NA NA NA NA
## 261 NA NA NA NA NA
## 262 NA NA NA NA NA
## 263 NA NA NA NA NA
## 264 NA NA NA NA NA
## 265 NA NA NA NA NA
## 266 NA NA NA NA NA
## 267 NA NA NA NA NA
## 268 NA NA NA NA NA
## 269 NA NA NA NA NA
## 270 NA NA NA NA NA
## 271 NA NA NA NA NA
## 272 NA NA NA NA NA
## 273 NA NA NA NA NA
## 274 NA NA NA NA NA
## 275 NA NA NA NA NA
## 276 NA NA NA NA NA
## 277 NA NA NA NA NA
## 278 NA NA NA NA NA
## 279 NA NA NA NA NA
## 280 NA NA NA NA NA
## 281 NA NA NA NA NA
## 282 NA NA NA NA NA
## 283 NA NA NA NA NA
## 284 NA NA NA NA NA
## 285 NA NA NA NA NA
## 286 NA NA NA NA NA
## 287 NA NA NA NA NA
## 288 NA NA NA NA NA
## 289 NA NA NA NA NA
## 290 NA NA NA NA NA
## 291 NA NA NA NA NA
## 292 NA NA NA NA NA
## 293 NA NA NA NA NA
## 294 NA 1 NA NA NA
## 295 NA NA NA NA NA
## 296 NA NA NA NA NA
## 297 NA NA NA NA NA
## 298 NA NA NA NA NA
## 299 NA NA NA NA NA
## 300 NA NA NA NA NA
## District.18 District.19 District.20 District.21 District.22
## 1 NA NA NA NA NA
## 2 NA NA NA NA NA
## 3 NA NA NA NA NA
## 4 NA NA NA NA NA
## 5 NA NA NA NA NA
## 6 NA NA NA NA NA
## 7 NA NA NA NA NA
## 8 NA NA NA NA NA
## 9 NA NA NA NA NA
## 10 NA NA NA NA NA
## 11 NA NA NA NA NA
## 12 NA NA NA NA NA
## 13 NA NA NA NA NA
## 14 NA NA NA NA NA
## 15 NA NA NA NA NA
## 16 NA NA NA NA NA
## 17 NA NA NA NA NA
## 18 NA NA NA NA NA
## 19 NA NA NA NA NA
## 20 NA NA NA NA NA
## 21 NA NA NA NA NA
## 22 NA NA NA NA NA
## 23 NA NA NA NA NA
## 24 NA NA NA NA NA
## 25 NA NA NA NA NA
## 26 NA NA NA NA NA
## 27 NA NA NA NA NA
## 28 NA NA NA NA NA
## 29 NA NA NA NA NA
## 30 NA NA NA NA NA
## 31 NA NA NA NA NA
## 32 NA NA NA NA NA
## 33 NA NA NA NA NA
## 34 NA NA NA NA NA
## 35 NA NA NA NA NA
## 36 NA NA NA NA NA
## 37 NA NA NA NA NA
## 38 NA NA NA NA NA
## 39 NA NA NA NA NA
## 40 NA NA NA NA NA
## 41 NA NA NA NA NA
## 42 NA NA NA NA NA
## 43 NA NA NA NA NA
## 44 NA NA NA NA NA
## 45 NA NA NA NA NA
## 46 NA NA NA NA NA
## 47 NA NA NA NA NA
## 48 NA NA NA NA NA
## 49 NA NA NA NA NA
## 50 NA NA NA NA NA
## 51 NA NA NA NA NA
## 52 NA NA NA NA NA
## 53 NA NA NA NA NA
## 54 NA NA NA NA NA
## 55 NA NA NA NA NA
## 56 NA NA NA NA NA
## 57 NA NA NA NA NA
## 58 NA NA NA NA NA
## 59 NA NA NA NA NA
## 60 NA NA NA NA NA
## 61 NA NA NA NA NA
## 62 NA NA NA NA NA
## 63 NA NA NA NA NA
## 64 NA NA NA NA NA
## 65 NA NA NA NA NA
## 66 NA NA NA NA NA
## 67 NA NA NA NA NA
## 68 NA NA NA NA NA
## 69 NA NA NA NA NA
## 70 NA NA NA NA NA
## 71 NA NA NA NA NA
## 72 NA NA NA NA NA
## 73 NA NA NA NA NA
## 74 NA NA NA NA NA
## 75 NA NA NA NA NA
## 76 NA NA NA NA NA
## 77 NA NA NA NA NA
## 78 NA NA NA NA NA
## 79 NA NA NA NA NA
## 80 NA NA NA NA NA
## 81 NA NA NA NA NA
## 82 NA NA NA NA NA
## 83 NA NA NA NA NA
## 84 NA NA NA NA NA
## 85 NA NA NA NA NA
## 86 NA NA NA NA NA
## 87 NA NA NA NA NA
## 88 NA NA NA NA NA
## 89 NA NA NA NA NA
## 90 NA NA NA NA NA
## 91 NA NA NA NA NA
## 92 NA NA NA NA NA
## 93 NA NA NA NA NA
## 94 NA NA NA NA NA
## 95 NA NA NA NA NA
## 96 NA NA NA NA NA
## 97 NA NA NA NA NA
## 98 NA NA NA NA NA
## 99 NA NA NA NA NA
## 100 NA NA NA NA NA
## 101 NA NA NA NA NA
## 102 NA NA NA NA NA
## 103 NA NA NA NA NA
## 104 NA NA NA NA NA
## 105 NA NA NA NA NA
## 106 NA NA NA NA NA
## 107 NA NA NA NA NA
## 108 NA NA NA NA NA
## 109 NA NA NA NA NA
## 110 NA NA NA NA NA
## 111 NA NA NA NA NA
## 112 NA NA NA NA NA
## 113 NA NA NA NA NA
## 114 NA NA NA NA NA
## 115 NA NA NA NA NA
## 116 NA NA NA NA NA
## 117 NA NA NA NA NA
## 118 NA NA NA NA NA
## 119 NA NA NA NA NA
## 120 NA NA NA NA NA
## 121 NA NA NA NA NA
## 122 NA NA NA NA NA
## 123 NA NA NA NA NA
## 124 NA NA NA NA NA
## 125 NA NA NA NA NA
## 126 NA NA NA NA NA
## 127 NA NA NA NA NA
## 128 NA NA NA NA NA
## 129 NA NA NA NA NA
## 130 NA NA NA NA NA
## 131 NA NA NA NA NA
## 132 NA NA NA NA NA
## 133 NA NA NA NA NA
## 134 NA NA NA NA NA
## 135 NA NA NA NA NA
## 136 NA NA NA NA NA
## 137 NA NA NA NA NA
## 138 NA NA NA NA NA
## 139 NA NA NA NA NA
## 140 NA NA NA NA NA
## 141 NA NA NA NA NA
## 142 NA NA NA NA NA
## 143 NA NA NA NA NA
## 144 NA NA NA NA NA
## 145 NA NA NA NA NA
## 146 NA NA NA NA NA
## 147 NA NA NA NA NA
## 148 NA NA NA NA NA
## 149 NA NA NA NA NA
## 150 NA NA NA NA NA
## 151 NA NA NA NA NA
## 152 NA NA NA NA NA
## 153 NA NA NA NA NA
## 154 NA NA NA NA NA
## 155 NA NA NA NA NA
## 156 NA NA NA NA NA
## 157 NA NA NA NA NA
## 158 NA NA NA NA NA
## 159 NA NA NA NA NA
## 160 NA NA NA NA NA
## 161 NA NA NA NA NA
## 162 NA NA NA NA NA
## 163 NA NA NA NA NA
## 164 NA NA NA NA NA
## 165 NA NA NA NA NA
## 166 NA NA NA NA NA
## 167 NA NA NA NA NA
## 168 NA NA NA NA NA
## 169 NA NA NA NA NA
## 170 NA NA NA NA NA
## 171 NA NA NA NA NA
## 172 NA NA NA NA NA
## 173 NA NA NA NA NA
## 174 NA NA NA NA NA
## 175 NA NA NA NA NA
## 176 NA NA NA NA NA
## 177 NA NA NA NA NA
## 178 NA NA NA NA NA
## 179 NA NA NA NA NA
## 180 NA NA NA NA NA
## 181 NA NA NA NA NA
## 182 NA NA NA NA NA
## 183 NA NA NA NA NA
## 184 NA NA NA NA NA
## 185 NA NA NA NA NA
## 186 NA NA NA NA NA
## 187 NA NA NA NA NA
## 188 NA NA NA NA NA
## 189 NA NA NA NA NA
## 190 NA NA NA NA NA
## 191 NA NA NA NA NA
## 192 NA NA NA NA NA
## 193 NA NA NA NA NA
## 194 NA NA NA NA NA
## 195 NA NA NA NA NA
## 196 NA NA NA NA NA
## 197 NA NA NA NA NA
## 198 NA NA NA NA NA
## 199 NA NA NA NA NA
## 200 NA NA NA NA NA
## 201 NA NA NA NA NA
## 202 NA NA NA NA NA
## 203 NA NA NA NA NA
## 204 NA NA NA NA NA
## 205 NA NA NA NA NA
## 206 NA NA NA NA NA
## 207 NA NA NA NA NA
## 208 NA NA NA NA NA
## 209 NA NA NA NA NA
## 210 NA NA NA NA NA
## 211 NA NA NA NA NA
## 212 NA NA NA NA NA
## 213 NA NA NA NA NA
## 214 303 NA NA NA NA
## 215 315 NA NA NA NA
## 216 241 NA NA NA NA
## 217 336 2 NA NA NA
## 218 246 NA NA NA NA
## 219 329 NA NA NA NA
## 220 182 NA NA NA NA
## 221 352 NA NA NA NA
## 222 481 NA NA NA NA
## 223 271 NA NA NA NA
## 224 98 NA NA NA NA
## 225 263 NA NA NA NA
## 226 NA 300 NA NA NA
## 227 NA 382 NA NA NA
## 228 NA 306 NA NA NA
## 229 NA 48 NA NA NA
## 230 NA 59 NA NA NA
## 231 NA 30 NA NA NA
## 232 NA 385 NA NA NA
## 233 NA 533 NA NA NA
## 234 NA 405 NA NA NA
## 235 NA 44 NA NA NA
## 236 3 363 NA NA NA
## 237 NA 394 NA NA NA
## 238 1 463 NA NA NA
## 239 NA 24 NA NA NA
## 240 NA 58 NA NA NA
## 241 NA NA 613 NA NA
## 242 NA NA 291 NA NA
## 243 NA NA 299 NA NA
## 244 NA NA 156 NA NA
## 245 NA NA 170 NA NA
## 246 NA 1 237 NA NA
## 247 NA NA 285 NA NA
## 248 NA NA 251 NA NA
## 249 NA NA 190 NA NA
## 250 NA NA NA 4 NA
## 251 NA NA NA 2 NA
## 252 NA NA NA 1 NA
## 253 NA NA NA 5 NA
## 254 NA NA NA 2 NA
## 255 NA NA NA 2 NA
## 256 NA NA NA 4 NA
## 257 NA NA NA 4 NA
## 258 NA NA NA 5 NA
## 259 NA NA NA NA 153
## 260 NA NA NA NA 477
## 261 NA NA NA NA 344
## 262 NA NA NA NA 443
## 263 NA NA NA NA 593
## 264 NA NA NA NA 731
## 265 NA NA NA NA 557
## 266 NA NA NA NA 483
## 267 NA NA NA NA 509
## 268 NA 201 NA NA NA
## 269 NA 178 NA NA NA
## 270 NA 151 NA NA NA
## 271 NA 189 NA NA NA
## 272 NA 205 NA NA NA
## 273 NA 178 NA NA NA
## 274 NA 259 NA NA NA
## 275 NA 252 NA NA NA
## 276 4 387 NA NA NA
## 277 NA NA NA NA NA
## 278 NA NA NA NA NA
## 279 NA NA 2 NA NA
## 280 NA NA NA NA NA
## 281 NA NA NA NA NA
## 282 NA NA NA NA NA
## 283 NA NA NA NA NA
## 284 NA NA NA NA NA
## 285 NA NA NA NA NA
## 286 NA NA NA NA NA
## 287 NA NA NA NA NA
## 288 NA NA NA NA NA
## 289 NA NA NA NA NA
## 290 NA NA NA NA NA
## 291 NA NA NA NA NA
## 292 NA NA NA NA NA
## 293 NA NA NA NA NA
## 294 NA NA NA NA NA
## 295 NA NA NA NA NA
## 296 NA NA NA NA NA
## 297 NA NA NA NA NA
## 298 NA NA NA NA NA
## 299 NA NA NA NA NA
## 300 NA NA NA NA NA
## District.23 District.24 District.25 District.31 District.NA
## 1 NA NA NA NA 83
## 2 NA NA NA NA 33
## 3 NA NA NA NA 27
## 4 NA NA NA NA 1
## 5 NA NA NA NA NA
## 6 NA NA NA NA 46
## 7 NA NA NA NA 19
## 8 NA NA NA NA 46
## 9 NA NA NA NA NA
## 10 NA NA NA NA 179
## 11 NA NA NA NA 160
## 12 NA NA NA NA 39
## 13 NA NA NA NA 56
## 14 NA NA NA NA 127
## 15 NA NA NA NA 84
## 16 NA NA NA NA 77
## 17 NA NA NA NA 68
## 18 NA NA NA NA NA
## 19 NA NA NA NA 88
## 20 NA NA NA NA 85
## 21 NA NA NA NA 149
## 22 NA NA NA NA 83
## 23 NA NA NA NA NA
## 24 NA NA NA NA 56
## 25 NA NA NA NA 105
## 26 NA NA NA NA 120
## 27 NA NA NA NA 153
## 28 NA NA NA NA NA
## 29 NA NA NA NA 88
## 30 NA NA NA NA 165
## 31 NA NA NA NA 139
## 32 NA NA NA NA 119
## 33 NA NA NA NA 173
## 34 NA NA NA NA 167
## 35 NA NA NA NA 252
## 36 NA NA NA NA 160
## 37 NA NA NA NA 247
## 38 NA NA NA NA 159
## 39 NA NA NA NA 110
## 40 NA NA NA NA 177
## 41 NA NA NA NA 171
## 42 NA NA NA NA 259
## 43 NA NA NA NA 212
## 44 NA NA NA NA 282
## 45 NA NA NA NA 258
## 46 NA NA NA NA 137
## 47 NA NA NA NA 257
## 48 NA NA NA NA 111
## 49 NA NA NA NA 141
## 50 NA NA NA NA 148
## 51 NA NA NA NA 102
## 52 NA NA NA NA 48
## 53 NA NA NA NA 285
## 54 NA NA NA NA 181
## 55 NA NA NA NA 166
## 56 NA NA NA NA 154
## 57 NA NA NA NA 168
## 58 NA NA NA NA 184
## 59 NA NA NA NA 140
## 60 NA NA NA NA 110
## 61 NA NA NA NA 94
## 62 NA NA NA NA 184
## 63 NA NA NA NA 236
## 64 NA NA NA NA 204
## 65 NA NA NA NA 161
## 66 NA NA NA NA 203
## 67 NA NA NA NA 207
## 68 NA NA NA NA 264
## 69 NA NA NA NA 255
## 70 NA NA NA NA 233
## 71 NA NA NA NA 263
## 72 NA NA NA NA 107
## 73 NA NA NA NA 256
## 74 NA NA NA NA 132
## 75 NA NA NA NA 161
## 76 NA NA NA NA 205
## 77 NA NA NA NA 121
## 78 NA NA NA NA 104
## 79 NA NA NA NA 147
## 80 NA NA NA NA 194
## 81 NA NA NA NA 107
## 82 NA NA NA NA 177
## 83 NA NA NA NA 136
## 84 NA NA NA NA 156
## 85 NA NA NA NA 131
## 86 NA NA NA NA 193
## 87 NA NA NA NA 150
## 88 NA NA NA NA 161
## 89 NA NA NA NA 132
## 90 NA NA NA NA 127
## 91 NA NA NA NA 345
## 92 NA NA NA NA 157
## 93 NA NA NA NA 286
## 94 NA NA NA NA 173
## 95 NA NA NA NA 234
## 96 NA NA NA NA 322
## 97 NA NA NA NA 269
## 98 NA NA NA NA 312
## 99 NA NA NA NA 320
## 100 NA NA NA NA 288
## 101 NA NA NA NA 475
## 102 NA NA NA NA 186
## 103 NA NA NA NA 256
## 104 NA NA NA NA 298
## 105 NA NA NA NA 338
## 106 NA NA NA NA 253
## 107 NA NA NA NA 291
## 108 NA NA NA NA 168
## 109 NA NA NA NA 88
## 110 NA NA NA NA 179
## 111 NA NA NA NA 151
## 112 NA NA NA NA 146
## 113 NA NA NA NA 90
## 114 NA NA NA NA 137
## 115 NA NA NA NA 92
## 116 NA NA NA NA 70
## 117 NA NA NA NA 108
## 118 NA NA NA NA 143
## 119 NA NA NA NA 128
## 120 NA NA NA NA 112
## 121 NA NA NA NA 207
## 122 NA NA NA NA 91
## 123 NA NA NA NA 111
## 124 NA NA NA NA 161
## 125 NA NA NA NA 112
## 126 NA NA NA NA 142
## 127 NA NA NA NA 183
## 128 NA NA NA NA 142
## 129 NA NA NA NA 210
## 130 NA NA NA NA 232
## 131 NA NA NA NA 185
## 132 NA NA NA NA 148
## 133 NA NA NA NA 129
## 134 NA NA NA NA 63
## 135 NA NA NA NA 76
## 136 NA NA NA NA 167
## 137 NA NA NA NA 164
## 138 NA NA NA NA 119
## 139 NA NA NA NA 110
## 140 NA NA NA NA 38
## 141 NA NA NA NA 95
## 142 NA NA NA NA 150
## 143 NA NA NA NA 177
## 144 NA NA NA NA 119
## 145 NA NA NA NA 99
## 146 NA NA NA NA 200
## 147 NA NA NA NA 141
## 148 NA NA NA NA 124
## 149 NA NA NA NA NA
## 150 NA NA NA NA NA
## 151 NA NA NA NA NA
## 152 NA NA NA NA 95
## 153 NA NA NA NA 125
## 154 NA NA NA NA 192
## 155 NA NA NA NA NA
## 156 NA NA NA NA 64
## 157 NA NA NA NA 59
## 158 NA NA NA NA 113
## 159 NA NA NA NA NA
## 160 NA NA NA NA NA
## 161 NA NA NA NA 178
## 162 NA NA NA NA 174
## 163 NA NA NA NA 147
## 164 NA NA NA NA 64
## 165 NA NA NA NA 166
## 166 NA NA NA NA 149
## 167 NA NA NA NA 109
## 168 NA NA NA NA 69
## 169 NA NA NA NA 89
## 170 NA NA NA NA 237
## 171 NA NA NA NA 200
## 172 NA NA NA NA 184
## 173 NA NA NA NA 185
## 174 NA NA NA NA 210
## 175 NA NA NA NA 234
## 176 NA NA NA NA 160
## 177 NA NA NA NA 232
## 178 NA NA NA NA 209
## 179 NA NA NA NA 184
## 180 NA NA NA NA 269
## 181 NA NA NA NA 225
## 182 NA NA NA NA 144
## 183 NA NA NA NA 157
## 184 NA NA NA NA 118
## 185 NA NA NA NA 172
## 186 NA NA NA NA 127
## 187 NA NA NA NA 121
## 188 NA NA NA NA 150
## 189 NA NA NA NA 172
## 190 NA NA NA NA 261
## 191 NA NA NA NA 62
## 192 NA NA NA NA 41
## 193 NA NA NA 1 72
## 194 NA NA NA NA 146
## 195 NA NA NA NA 41
## 196 NA NA NA NA 185
## 197 NA NA NA NA 185
## 198 NA NA NA NA 168
## 199 NA NA NA NA 70
## 200 NA NA 1 NA 122
## 201 NA NA NA NA 249
## 202 NA NA NA NA 210
## 203 NA NA NA NA 148
## 204 NA NA NA NA 4
## 205 NA 1 NA NA 163
## 206 NA NA NA NA 209
## 207 NA NA NA NA 156
## 208 NA NA NA NA 212
## 209 NA NA NA NA 245
## 210 NA NA NA NA 204
## 211 NA NA NA NA 288
## 212 NA NA 8 NA 330
## 213 NA NA NA NA 202
## 214 NA NA NA NA 104
## 215 NA NA NA NA 78
## 216 NA NA NA NA 67
## 217 NA NA NA NA 97
## 218 NA NA NA NA 92
## 219 NA NA NA NA 88
## 220 NA NA NA NA 48
## 221 NA NA NA NA 69
## 222 NA NA NA NA 101
## 223 NA NA NA NA 65
## 224 NA NA NA NA 30
## 225 NA NA NA NA 70
## 226 NA NA NA NA 55
## 227 NA NA NA NA 105
## 228 NA NA NA NA 87
## 229 NA NA NA NA 1
## 230 NA NA NA NA NA
## 231 NA NA NA NA 1
## 232 NA NA NA NA 75
## 233 NA NA NA NA 111
## 234 NA NA NA NA 89
## 235 NA NA NA NA 1
## 236 NA NA NA NA 89
## 237 NA NA NA NA 90
## 238 NA NA NA NA 136
## 239 NA NA NA NA NA
## 240 NA NA NA NA 2
## 241 NA NA NA NA 156
## 242 NA NA NA NA 64
## 243 NA NA NA NA 73
## 244 NA NA NA NA 58
## 245 NA NA NA NA 67
## 246 NA NA NA NA 71
## 247 NA NA NA NA 90
## 248 NA NA NA NA 55
## 249 NA NA NA NA 70
## 250 NA NA NA NA 125
## 251 NA NA NA NA 116
## 252 NA NA NA NA 141
## 253 NA NA NA NA 125
## 254 NA NA NA NA 113
## 255 NA NA NA NA 154
## 256 NA NA NA NA 100
## 257 NA NA NA NA 178
## 258 NA NA NA NA 127
## 259 NA NA NA NA 66
## 260 NA NA NA NA 231
## 261 NA NA NA NA 145
## 262 NA NA NA NA 141
## 263 NA NA NA NA 191
## 264 NA NA NA NA 192
## 265 NA NA NA NA 156
## 266 NA NA NA NA 146
## 267 NA NA NA NA 157
## 268 NA NA NA NA 65
## 269 1 NA NA NA 67
## 270 1 NA NA NA 68
## 271 1 NA NA NA 55
## 272 1 NA NA NA 83
## 273 1 NA NA NA 56
## 274 NA NA NA NA 84
## 275 NA NA NA NA 70
## 276 NA NA NA NA 120
## 277 NA 493 NA NA 122
## 278 NA 612 NA NA 171
## 279 NA 855 NA NA 252
## 280 NA 263 NA NA 103
## 281 NA 316 NA NA 95
## 282 NA 389 NA NA 157
## 283 NA 213 NA NA 85
## 284 NA 332 NA NA 131
## 285 NA 456 NA NA 143
## 286 NA NA 626 NA 155
## 287 NA NA 1236 NA 383
## 288 NA NA 375 NA 112
## 289 NA NA 1080 NA 292
## 290 NA NA 917 NA 259
## 291 NA NA 1174 NA 344
## 292 NA NA 904 NA 261
## 293 NA NA 915 NA 292
## 294 NA NA 777 NA 227
## 295 NA NA 630 NA 165
## 296 NA NA 538 NA 190
## 297 NA NA 694 NA 228
## 298 NA NA 940 NA 285
## 299 NA NA 1072 NA 283
## 300 NA NA 937 NA 273
print(District_Beat_xtab_df <- mycreate_sqlxtab_df(glb_allobs_df, c("District", "Beat")))
## District Beat .n
## 1 8 823 1294
## 2 8 831 1244
## 3 25 2512 1236
## 4 25 2521 1174
## 5 8 824 1172
## 6 8 815 1149
## 7 8 835 1118
## 8 5 511 1102
## 9 25 2514 1080
## 10 9 912 1074
## 11 25 2534 1072
## 12 9 911 1044
## 13 9 914 1009
## 14 8 832 995
## 15 17 1723 985
## 16 6 632 965
## 17 8 833 964
## 18 4 414 961
## 19 17 1732 940
## 20 25 2533 940
## 21 25 2535 937
## 22 25 2515 917
## 23 25 2523 915
## 24 25 2522 904
## 25 8 813 900
## 26 17 1731 898
## 27 4 412 897
## 28 6 623 888
## 29 9 913 878
## 30 3 323 869
## 31 14 1411 866
## 32 8 822 856
## 33 24 2413 855
## 34 6 631 854
## 35 8 825 838
## 36 4 421 819
## 37 5 523 819
## 38 6 612 813
## 39 4 423 809
## 40 11 1111 809
## 41 7 731 807
## 42 16 1633 805
## 43 17 1733 798
## 44 12 1211 797
## 45 15 1533 791
## 46 6 624 786
## 47 9 915 780
## 48 14 1433 780
## 49 14 1434 777
## 50 25 2524 777
## 51 8 834 769
## 52 17 1712 746
## 53 10 1031 738
## 54 6 634 737
## 55 7 711 737
## 56 17 1722 733
## 57 22 2223 731
## 58 11 1133 726
## 59 16 1634 721
## 60 14 1422 715
## 61 25 2532 694
## 62 4 413 691
## 63 7 722 690
## 64 6 621 689
## 65 7 725 688
## 66 14 1412 688
## 67 17 1724 687
## 68 9 923 684
## 69 13 1323 680
## 70 6 613 675
## 71 14 1413 674
## 72 7 735 670
## 73 7 713 656
## 74 14 1424 651
## 75 3 322 650
## 76 3 331 650
## 77 11 1112 646
## 78 14 1432 646
## 79 11 1122 639
## 80 7 733 635
## 81 5 512 633
## 82 25 2525 630
## 83 2 233 626
## 84 25 2511 626
## 85 10 1034 624
## 86 15 1522 618
## 87 4 411 617
## 88 20 2011 613
## 89 24 2412 612
## 90 8 821 609
## 91 11 1121 608
## 92 10 1013 607
## 93 14 1431 606
## 94 5 524 604
## 95 2 2132 602
## 96 3 324 599
## 97 22 2222 593
## 98 12 1212 592
## 99 11 1113 588
## 100 5 522 586
## 101 7 723 584
## 102 9 931 583
## 103 10 1011 579
## 104 3 321 578
## 105 16 1624 578
## 106 14 1414 577
## 107 9 922 570
## 108 10 1033 567
## 109 16 1622 564
## 110 2 234 563
## 111 22 2232 557
## 112 5 513 556
## 113 6 611 552
## 114 10 1024 550
## 115 11 1135 547
## 116 14 1421 546
## 117 13 1313 545
## 118 6 614 544
## 119 4 431 543
## 120 15 1531 543
## 121 7 712 542
## 122 25 2531 538
## 123 11 1132 537
## 124 15 1532 536
## 125 11 1123 535
## 126 19 1923 533
## 127 10 1032 530
## 128 9 924 523
## 129 7 724 522
## 130 9 935 520
## 131 10 1022 517
## 132 12 1224 513
## 133 15 1511 513
## 134 2 223 512
## 135 22 2234 509
## 136 7 734 508
## 137 13 1331 506
## 138 3 332 503
## 139 9 934 500
## 140 15 1523 499
## 141 5 531 498
## 142 12 1233 498
## 143 16 1623 497
## 144 24 2411 493
## 145 15 1524 490
## 146 22 2233 483
## 147 7 732 481
## 148 18 1831 481
## 149 2 2124 477
## 150 22 2212 477
## 151 13 1312 476
## 152 13 1324 476
## 153 NA 833 475
## 154 1 132 474
## 155 2 2123 472
## 156 11 1131 471
## 157 3 312 470
## 158 17 1713 467
## 159 11 1134 466
## 160 19 1933 463
## 161 6 633 462
## 162 1 131 461
## 163 8 814 460
## 164 24 2433 456
## 165 5 532 455
## 166 7 726 455
## 167 13 1311 443
## 168 16 1632 443
## 169 22 2221 443
## 170 4 422 440
## 171 10 1014 439
## 172 12 1213 439
## 173 3 334 437
## 174 15 1512 434
## 175 4 432 433
## 176 2 213 432
## 177 17 1711 429
## 178 6 622 426
## 179 7 715 426
## 180 2 232 425
## 181 10 1021 423
## 182 3 314 415
## 183 19 1924 405
## 184 10 1023 402
## 185 2 2133 400
## 186 10 1012 398
## 187 2 222 395
## 188 19 1932 394
## 189 7 714 393
## 190 11 1124 393
## 191 12 1223 391
## 192 24 2424 389
## 193 19 2333 387
## 194 4 424 386
## 195 19 1922 385
## 196 NA 2512 383
## 197 9 932 383
## 198 19 1912 382
## 199 25 2513 375
## 200 15 1513 371
## 201 12 1222 368
## 202 19 1931 363
## 203 3 313 362
## 204 14 1423 362
## 205 8 811 359
## 206 3 333 355
## 207 18 1824 352
## 208 2 221 348
## 209 NA 813 345
## 210 11 1115 345
## 211 NA 2521 344
## 212 22 2213 344
## 213 2 211 343
## 214 9 933 339
## 215 NA 912 338
## 216 18 1814 336
## 217 2 2122 332
## 218 24 2432 332
## 219 NA 1732 330
## 220 8 812 330
## 221 18 1822 329
## 222 2 2131 324
## 223 3 311 324
## 224 NA 823 322
## 225 NA 831 320
## 226 24 2423 316
## 227 18 1812 315
## 228 5 533 313
## 229 NA 825 312
## 230 9 921 312
## 231 16 1631 310
## 232 13 1333 309
## 233 11 1114 308
## 234 19 1913 306
## 235 2 214 305
## 236 18 1811 303
## 237 19 1911 300
## 238 13 1332 299
## 239 20 2013 299
## 240 NA 911 298
## 241 2 224 298
## 242 NA 2514 292
## 243 NA 2523 292
## 244 NA 914 291
## 245 20 2012 291
## 246 NA 832 288
## 247 NA 1731 288
## 248 NA 815 286
## 249 NA 511 285
## 250 NA 2533 285
## 251 20 2031 285
## 252 4 433 284
## 253 NA 2534 283
## 254 NA 414 282
## 255 9 925 279
## 256 NA 2535 273
## 257 18 1832 271
## 258 NA 824 269
## 259 NA 1433 269
## 260 13 1322 269
## 261 NA 623 264
## 262 NA 632 263
## 263 18 1834 263
## 264 24 2422 263
## 265 NA 1533 261
## 266 NA 2522 261
## 267 NA 412 259
## 268 NA 2515 259
## 269 19 2331 259
## 270 NA 421 258
## 271 NA 423 257
## 272 1 134 257
## 273 NA 634 256
## 274 NA 835 256
## 275 NA 624 255
## 276 NA 913 253
## 277 NA 323 252
## 278 NA 2413 252
## 279 19 2332 252
## 280 20 2032 251
## 281 NA 1633 249
## 282 NA 331 247
## 283 18 1821 246
## 284 NA 1723 245
## 285 16 1614 241
## 286 18 1813 241
## 287 NA 1411 237
## 288 20 2024 237
## 289 NA 612 236
## 290 NA 822 234
## 291 NA 1422 234
## 292 NA 631 233
## 293 NA 1034 232
## 294 NA 1424 232
## 295 NA 2212 231
## 296 NA 2532 228
## 297 NA 2524 227
## 298 NA 1434 225
## 299 2 212 225
## 300 1 111 216
## 301 24 2431 213
## 302 NA 413 212
## 303 NA 1722 212
## 304 12 1232 211
## 305 NA 1033 210
## 306 NA 1421 210
## 307 NA 1634 210
## 308 NA 1431 209
## 309 NA 1712 209
## 310 16 1651 208
## 311 NA 622 207
## 312 NA 1013 207
## 313 NA 713 205
## 314 19 2323 205
## 315 NA 613 204
## 316 NA 1724 204
## 317 NA 621 203
## 318 1 133 203
## 319 NA 1733 202
## 320 19 2311 201
## 321 NA 1211 200
## 322 NA 1412 200
## 323 12 1231 198
## 324 NA 723 194
## 325 9 2113 194
## 326 NA 733 193
## 327 4 434 193
## 328 NA 1224 192
## 329 NA 2223 192
## 330 NA 2222 191
## 331 NA 2531 190
## 332 20 2033 190
## 333 1 2112 189
## 334 19 2322 189
## 335 NA 834 186
## 336 NA 1111 185
## 337 NA 1414 185
## 338 NA 1622 185
## 339 NA 1623 185
## 340 NA 524 184
## 341 NA 611 184
## 342 NA 1413 184
## 343 NA 1432 184
## 344 NA 1031 183
## 345 18 1823 182
## 346 NA 512 181
## 347 NA 131 179
## 348 NA 922 179
## 349 11 1125 179
## 350 NA 1311 178
## 351 NA 2132 178
## 352 2 231 178
## 353 19 2312 178
## 354 19 2324 178
## 355 NA 334 177
## 356 NA 725 177
## 357 NA 1133 177
## 358 2 2112 176
## 359 NA 1312 174
## 360 1 2113 174
## 361 NA 321 173
## 362 NA 821 173
## 363 16 1613 173
## 364 NA 1522 172
## 365 NA 1532 172
## 366 NA 411 171
## 367 NA 2412 171
## 368 20 2023 170
## 369 NA 523 168
## 370 NA 915 168
## 371 NA 1624 168
## 372 9 2111 168
## 373 NA 322 167
## 374 NA 1121 167
## 375 NA 513 166
## 376 NA 1323 166
## 377 NA 312 165
## 378 NA 2525 165
## 379 16 1611 165
## 380 NA 1122 164
## 381 NA 1711 163
## 382 NA 614 161
## 383 NA 712 161
## 384 NA 735 161
## 385 NA 1022 161
## 386 NA 132 160
## 387 NA 324 160
## 388 NA 1423 160
## 389 NA 332 159
## 390 NA 814 157
## 391 NA 1512 157
## 392 NA 2234 157
## 393 NA 2424 157
## 394 NA 731 156
## 395 NA 1713 156
## 396 NA 2011 156
## 397 NA 2232 156
## 398 20 2022 156
## 399 NA 2511 155
## 400 NA 522 154
## 401 NA 2124 154
## 402 NA 234 153
## 403 22 2211 153
## 404 NA 923 151
## 405 19 2313 151
## 406 NA 734 150
## 407 NA 1132 150
## 408 NA 1531 150
## 409 NA 223 149
## 410 NA 1324 149
## 411 NA 432 148
## 412 NA 1112 148
## 413 NA 1651 148
## 414 NA 722 147
## 415 NA 1313 147
## 416 NA 924 146
## 417 NA 1614 146
## 418 NA 2233 146
## 419 NA 2213 145
## 420 NA 1511 144
## 421 NA 935 143
## 422 NA 2433 143
## 423 NA 1024 142
## 424 NA 1032 142
## 425 NA 431 141
## 426 NA 1212 141
## 427 NA 2113 141
## 428 NA 2221 141
## 429 NA 531 140
## 430 NA 313 139
## 431 NA 422 137
## 432 NA 931 137
## 433 NA 726 136
## 434 NA 1933 136
## 435 NA 711 132
## 436 NA 811 132
## 437 NA 732 131
## 438 NA 2432 131
## 439 NA 1113 129
## 440 NA 1011 128
## 441 NA 211 127
## 442 NA 812 127
## 443 NA 1523 127
## 444 NA 2133 127
## 445 NA 1223 125
## 446 NA 2111 125
## 447 NA 2122 125
## 448 NA 1213 124
## 449 NA 1632 122
## 450 NA 2411 122
## 451 NA 714 121
## 452 NA 1524 121
## 453 NA 233 120
## 454 NA 2333 120
## 455 NA 314 119
## 456 NA 1123 119
## 457 NA 1134 119
## 458 NA 1513 118
## 459 NA 2112 116
## 460 NA 1233 113
## 461 NA 2123 113
## 462 1 124 113
## 463 NA 1012 112
## 464 NA 1023 112
## 465 NA 2513 112
## 466 16 1621 112
## 467 NA 424 111
## 468 NA 1021 111
## 469 NA 1923 111
## 470 NA 333 110
## 471 NA 532 110
## 472 NA 1124 110
## 473 NA 1331 109
## 474 1 2122 109
## 475 NA 934 108
## 476 NA 633 107
## 477 NA 724 107
## 478 NA 232 105
## 479 NA 1912 105
## 480 NA 715 104
## 481 NA 1811 104
## 482 NA 2422 103
## 483 NA 433 102
## 484 1 113 102
## 485 NA 1831 101
## 486 NA 2131 100
## 487 NA 1135 99
## 488 18 1833 98
## 489 NA 1814 97
## 490 NA 1131 95
## 491 NA 1222 95
## 492 NA 2423 95
## 493 1 122 95
## 494 NA 533 94
## 495 NA 932 92
## 496 NA 1821 92
## 497 NA 1014 91
## 498 NA 925 90
## 499 NA 1932 90
## 500 NA 2031 90
## 501 NA 1333 89
## 502 NA 1924 89
## 503 NA 1931 89
## 504 1 123 89
## 505 NA 221 88
## 506 NA 311 88
## 507 NA 921 88
## 508 NA 1822 88
## 509 NA 1913 87
## 510 1 112 87
## 511 16 1612 87
## 512 NA 222 85
## 513 NA 2431 85
## 514 NA 212 84
## 515 NA 2331 84
## 516 NA 111 83
## 517 NA 224 83
## 518 NA 2323 83
## 519 NA 1812 78
## 520 NA 213 77
## 521 NA 1115 76
## 522 NA 1922 75
## 523 NA 2013 73
## 524 NA 1613 72
## 525 NA 2024 71
## 526 NA 933 70
## 527 NA 1631 70
## 528 NA 1834 70
## 529 NA 2033 70
## 530 NA 2332 70
## 531 NA 1332 69
## 532 NA 1824 69
## 533 NA 214 68
## 534 NA 2313 68
## 535 NA 1813 67
## 536 NA 2023 67
## 537 NA 2312 67
## 538 NA 2211 66
## 539 NA 1832 65
## 540 NA 2311 65
## 541 NA 1231 64
## 542 NA 1322 64
## 543 NA 2012 64
## 544 NA 1114 63
## 545 NA 1611 62
## 546 NA 1232 59
## 547 19 1915 59
## 548 NA 2022 58
## 549 19 1935 58
## 550 NA 134 56
## 551 NA 231 56
## 552 NA 2324 56
## 553 NA 1911 55
## 554 NA 2032 55
## 555 NA 2322 55
## 556 16 1654 54
## 557 2 2113 49
## 558 NA 434 48
## 559 NA 1823 48
## 560 19 1914 48
## 561 NA 122 46
## 562 NA 124 46
## 563 19 1925 44
## 564 NA 1612 41
## 565 NA 1621 41
## 566 NA 133 39
## 567 NA 1125 38
## 568 2 235 34
## 569 NA 112 33
## 570 2 225 31
## 571 NA 1833 30
## 572 19 1921 30
## 573 NA 113 27
## 574 19 1934 24
## 575 2 215 21
## 576 12 1235 20
## 577 NA 123 19
## 578 7 322 15
## 579 1 121 12
## 580 7 233 11
## 581 1 2111 10
## 582 6 511 9
## 583 12 1215 9
## 584 12 1234 9
## 585 13 1424 8
## 586 25 1732 8
## 587 3 722 7
## 588 7 323 7
## 589 12 1214 7
## 590 12 1225 7
## 591 14 1733 7
## 592 9 711 6
## 593 12 1323 6
## 594 12 1221 5
## 595 21 2122 5
## 596 21 2133 5
## 597 NA 1654 4
## 598 1 114 4
## 599 7 623 4
## 600 11 1532 4
## 601 18 2333 4
## 602 21 2111 4
## 603 21 2131 4
## 604 21 2132 4
## 605 2 934 3
## 606 3 2132 3
## 607 12 1312 3
## 608 12 1322 3
## 609 12 1333 3
## 610 18 1931 3
## 611 NA 1935 2
## 612 3 414 2
## 613 12 111 2
## 614 12 1311 2
## 615 12 1324 2
## 616 12 1332 2
## 617 14 1323 2
## 618 19 1814 2
## 619 20 2413 2
## 620 21 2112 2
## 621 21 2123 2
## 622 21 2124 2
## 623 NA 114 1
## 624 NA 1914 1
## 625 NA 1921 1
## 626 NA 1925 1
## 627 1 130 1
## 628 1 1232 1
## 629 1 1834 1
## 630 3 832 1
## 631 5 2212 1
## 632 5 2233 1
## 633 8 2411 1
## 634 9 821 1
## 635 9 2012 1
## 636 11 411 1
## 637 11 1331 1
## 638 11 1332 1
## 639 11 2535 1
## 640 12 131 1
## 641 12 133 1
## 642 12 1313 1
## 643 13 735 1
## 644 13 1225 1
## 645 14 2524 1
## 646 16 1712 1
## 647 17 813 1
## 648 18 1933 1
## 649 19 2024 1
## 650 21 2113 1
## 651 23 2312 1
## 652 23 2313 1
## 653 23 2322 1
## 654 23 2323 1
## 655 23 2324 1
## 656 24 1711 1
## 657 25 1632 1
## 658 31 1613 1
print(subset(District_Beat_xtab_df, is.na(District)))
## District Beat .n
## 153 NA 833 475
## 196 NA 2512 383
## 209 NA 813 345
## 211 NA 2521 344
## 215 NA 912 338
## 219 NA 1732 330
## 224 NA 823 322
## 225 NA 831 320
## 229 NA 825 312
## 240 NA 911 298
## 242 NA 2514 292
## 243 NA 2523 292
## 244 NA 914 291
## 246 NA 832 288
## 247 NA 1731 288
## 248 NA 815 286
## 249 NA 511 285
## 250 NA 2533 285
## 253 NA 2534 283
## 254 NA 414 282
## 256 NA 2535 273
## 258 NA 824 269
## 259 NA 1433 269
## 261 NA 623 264
## 262 NA 632 263
## 265 NA 1533 261
## 266 NA 2522 261
## 267 NA 412 259
## 268 NA 2515 259
## 270 NA 421 258
## 271 NA 423 257
## 273 NA 634 256
## 274 NA 835 256
## 275 NA 624 255
## 276 NA 913 253
## 277 NA 323 252
## 278 NA 2413 252
## 281 NA 1633 249
## 282 NA 331 247
## 284 NA 1723 245
## 287 NA 1411 237
## 289 NA 612 236
## 290 NA 822 234
## 291 NA 1422 234
## 292 NA 631 233
## 293 NA 1034 232
## 294 NA 1424 232
## 295 NA 2212 231
## 296 NA 2532 228
## 297 NA 2524 227
## 298 NA 1434 225
## 302 NA 413 212
## 303 NA 1722 212
## 305 NA 1033 210
## 306 NA 1421 210
## 307 NA 1634 210
## 308 NA 1431 209
## 309 NA 1712 209
## 311 NA 622 207
## 312 NA 1013 207
## 313 NA 713 205
## 315 NA 613 204
## 316 NA 1724 204
## 317 NA 621 203
## 319 NA 1733 202
## 321 NA 1211 200
## 322 NA 1412 200
## 324 NA 723 194
## 326 NA 733 193
## 328 NA 1224 192
## 329 NA 2223 192
## 330 NA 2222 191
## 331 NA 2531 190
## 335 NA 834 186
## 336 NA 1111 185
## 337 NA 1414 185
## 338 NA 1622 185
## 339 NA 1623 185
## 340 NA 524 184
## 341 NA 611 184
## 342 NA 1413 184
## 343 NA 1432 184
## 344 NA 1031 183
## 346 NA 512 181
## 347 NA 131 179
## 348 NA 922 179
## 350 NA 1311 178
## 351 NA 2132 178
## 355 NA 334 177
## 356 NA 725 177
## 357 NA 1133 177
## 359 NA 1312 174
## 361 NA 321 173
## 362 NA 821 173
## 364 NA 1522 172
## 365 NA 1532 172
## 366 NA 411 171
## 367 NA 2412 171
## 369 NA 523 168
## 370 NA 915 168
## 371 NA 1624 168
## 373 NA 322 167
## 374 NA 1121 167
## 375 NA 513 166
## 376 NA 1323 166
## 377 NA 312 165
## 378 NA 2525 165
## 380 NA 1122 164
## 381 NA 1711 163
## 382 NA 614 161
## 383 NA 712 161
## 384 NA 735 161
## 385 NA 1022 161
## 386 NA 132 160
## 387 NA 324 160
## 388 NA 1423 160
## 389 NA 332 159
## 390 NA 814 157
## 391 NA 1512 157
## 392 NA 2234 157
## 393 NA 2424 157
## 394 NA 731 156
## 395 NA 1713 156
## 396 NA 2011 156
## 397 NA 2232 156
## 399 NA 2511 155
## 400 NA 522 154
## 401 NA 2124 154
## 402 NA 234 153
## 404 NA 923 151
## 406 NA 734 150
## 407 NA 1132 150
## 408 NA 1531 150
## 409 NA 223 149
## 410 NA 1324 149
## 411 NA 432 148
## 412 NA 1112 148
## 413 NA 1651 148
## 414 NA 722 147
## 415 NA 1313 147
## 416 NA 924 146
## 417 NA 1614 146
## 418 NA 2233 146
## 419 NA 2213 145
## 420 NA 1511 144
## 421 NA 935 143
## 422 NA 2433 143
## 423 NA 1024 142
## 424 NA 1032 142
## 425 NA 431 141
## 426 NA 1212 141
## 427 NA 2113 141
## 428 NA 2221 141
## 429 NA 531 140
## 430 NA 313 139
## 431 NA 422 137
## 432 NA 931 137
## 433 NA 726 136
## 434 NA 1933 136
## 435 NA 711 132
## 436 NA 811 132
## 437 NA 732 131
## 438 NA 2432 131
## 439 NA 1113 129
## 440 NA 1011 128
## 441 NA 211 127
## 442 NA 812 127
## 443 NA 1523 127
## 444 NA 2133 127
## 445 NA 1223 125
## 446 NA 2111 125
## 447 NA 2122 125
## 448 NA 1213 124
## 449 NA 1632 122
## 450 NA 2411 122
## 451 NA 714 121
## 452 NA 1524 121
## 453 NA 233 120
## 454 NA 2333 120
## 455 NA 314 119
## 456 NA 1123 119
## 457 NA 1134 119
## 458 NA 1513 118
## 459 NA 2112 116
## 460 NA 1233 113
## 461 NA 2123 113
## 463 NA 1012 112
## 464 NA 1023 112
## 465 NA 2513 112
## 467 NA 424 111
## 468 NA 1021 111
## 469 NA 1923 111
## 470 NA 333 110
## 471 NA 532 110
## 472 NA 1124 110
## 473 NA 1331 109
## 475 NA 934 108
## 476 NA 633 107
## 477 NA 724 107
## 478 NA 232 105
## 479 NA 1912 105
## 480 NA 715 104
## 481 NA 1811 104
## 482 NA 2422 103
## 483 NA 433 102
## 485 NA 1831 101
## 486 NA 2131 100
## 487 NA 1135 99
## 489 NA 1814 97
## 490 NA 1131 95
## 491 NA 1222 95
## 492 NA 2423 95
## 494 NA 533 94
## 495 NA 932 92
## 496 NA 1821 92
## 497 NA 1014 91
## 498 NA 925 90
## 499 NA 1932 90
## 500 NA 2031 90
## 501 NA 1333 89
## 502 NA 1924 89
## 503 NA 1931 89
## 505 NA 221 88
## 506 NA 311 88
## 507 NA 921 88
## 508 NA 1822 88
## 509 NA 1913 87
## 512 NA 222 85
## 513 NA 2431 85
## 514 NA 212 84
## 515 NA 2331 84
## 516 NA 111 83
## 517 NA 224 83
## 518 NA 2323 83
## 519 NA 1812 78
## 520 NA 213 77
## 521 NA 1115 76
## 522 NA 1922 75
## 523 NA 2013 73
## 524 NA 1613 72
## 525 NA 2024 71
## 526 NA 933 70
## 527 NA 1631 70
## 528 NA 1834 70
## 529 NA 2033 70
## 530 NA 2332 70
## 531 NA 1332 69
## 532 NA 1824 69
## 533 NA 214 68
## 534 NA 2313 68
## 535 NA 1813 67
## 536 NA 2023 67
## 537 NA 2312 67
## 538 NA 2211 66
## 539 NA 1832 65
## 540 NA 2311 65
## 541 NA 1231 64
## 542 NA 1322 64
## 543 NA 2012 64
## 544 NA 1114 63
## 545 NA 1611 62
## 546 NA 1232 59
## 548 NA 2022 58
## 550 NA 134 56
## 551 NA 231 56
## 552 NA 2324 56
## 553 NA 1911 55
## 554 NA 2032 55
## 555 NA 2322 55
## 558 NA 434 48
## 559 NA 1823 48
## 561 NA 122 46
## 562 NA 124 46
## 564 NA 1612 41
## 565 NA 1621 41
## 566 NA 133 39
## 567 NA 1125 38
## 569 NA 112 33
## 571 NA 1833 30
## 573 NA 113 27
## 577 NA 123 19
## 597 NA 1654 4
## 611 NA 1935 2
## 623 NA 114 1
## 624 NA 1914 1
## 625 NA 1921 1
## 626 NA 1925 1
print(subset(District_Beat_xtab_df, Beat == 833))
## District Beat .n
## 17 8 833 964
## 153 NA 833 475
# print(District_nonNA_Beat_xtab_df <-
# mycreate_sqlxtab_df(glb_allobs_df, c("District", "District.nonNA", "Beat")))
# print(subset(District_nonNA_Beat_xtab_df, is.na(District)))
# print(subset(District_nonNA_Beat_xtab_df, Beat == 833))
# print(District.my_Beat_xtab_df <-
# mycreate_sqlxtab_df(glb_allobs_df, c("District", "District.my", "Beat")))
# print(subset(District.my_Beat_xtab_df, is.na(District)))
# print(subset(District.my_Beat_xtab_df, Beat == 833))
# print(subset(District.my_Beat_xtab_df, Beat == 2132))
# print(subset(District.my_Beat_xtab_df, District == 2))
# print(subset(District.my_Beat_xtab_df, District.my != District))
print(mycreate_xtab_df(glb_allobs_df, c("Beat", "CommunityArea")))
## Beat CommunityArea.0 CommunityArea.1 CommunityArea.2 CommunityArea.3
## 1 111 NA NA NA NA
## 2 112 NA NA NA NA
## 3 113 NA NA NA NA
## 4 114 NA NA NA NA
## 5 121 NA NA NA NA
## 6 122 NA NA NA NA
## 7 123 NA NA NA NA
## 8 124 2 NA NA NA
## 9 130 NA NA NA NA
## 10 131 NA NA NA NA
## 11 132 NA NA NA NA
## 12 133 NA NA NA NA
## 13 134 NA NA NA NA
## 14 211 NA NA NA NA
## 15 212 NA NA NA NA
## 16 213 NA NA NA NA
## 17 214 NA NA NA NA
## 18 215 NA NA NA NA
## 19 221 NA NA NA NA
## 20 222 NA NA NA NA
## 21 223 NA NA NA NA
## 22 224 NA NA NA NA
## 23 225 NA NA NA NA
## 24 231 NA NA NA NA
## 25 232 NA NA NA NA
## 26 233 NA NA NA NA
## 27 234 NA NA NA NA
## 28 235 NA NA NA NA
## 29 311 NA NA NA NA
## 30 312 NA NA NA NA
## 31 313 NA NA NA NA
## 32 314 NA NA NA NA
## 33 321 NA NA NA NA
## 34 322 NA NA NA NA
## 35 323 NA NA NA NA
## 36 324 NA NA NA NA
## 37 331 NA NA NA NA
## 38 332 NA NA NA NA
## 39 333 NA NA NA NA
## 40 334 NA NA NA NA
## 41 411 NA NA NA NA
## 42 412 NA NA NA NA
## 43 413 NA NA NA NA
## 44 414 NA NA NA NA
## 45 421 NA NA NA NA
## 46 422 NA NA NA NA
## 47 423 NA NA NA NA
## 48 424 NA NA NA NA
## 49 431 NA NA NA NA
## 50 432 NA NA NA NA
## 51 433 NA NA NA NA
## 52 434 NA NA NA NA
## 53 511 NA NA NA NA
## 54 512 NA NA NA NA
## 55 513 NA NA NA NA
## 56 522 NA NA NA NA
## 57 523 NA NA NA NA
## 58 524 NA NA NA NA
## 59 531 NA NA NA NA
## 60 532 NA NA NA NA
## 61 533 NA NA NA NA
## 62 611 NA NA NA NA
## 63 612 NA NA NA NA
## 64 613 NA NA NA NA
## 65 614 NA NA NA NA
## 66 621 NA NA NA NA
## 67 622 NA NA NA NA
## 68 623 NA NA NA NA
## 69 624 NA NA NA NA
## 70 631 NA NA NA NA
## 71 632 NA NA NA NA
## 72 633 NA NA NA NA
## 73 634 NA NA NA NA
## 74 711 NA NA NA NA
## 75 712 NA NA NA NA
## 76 713 NA NA NA NA
## 77 714 NA NA NA NA
## 78 715 NA NA NA NA
## 79 722 NA NA NA NA
## 80 723 NA NA NA NA
## 81 724 NA NA NA NA
## 82 725 NA NA NA NA
## 83 726 NA NA NA NA
## 84 731 NA NA NA NA
## 85 732 NA NA NA NA
## 86 733 NA NA NA NA
## 87 734 NA NA NA NA
## 88 735 NA NA NA NA
## 89 811 NA NA NA NA
## 90 812 NA NA NA NA
## 91 813 NA NA NA NA
## 92 814 NA NA NA NA
## 93 815 NA NA NA NA
## 94 821 NA NA NA NA
## 95 822 NA NA NA NA
## 96 823 NA NA NA NA
## 97 824 NA NA NA NA
## 98 825 NA NA NA NA
## 99 831 NA NA NA NA
## 100 832 NA NA NA NA
## 101 833 NA NA NA NA
## 102 834 NA NA NA NA
## 103 835 NA NA NA NA
## 104 911 NA NA NA NA
## 105 912 NA NA NA NA
## 106 913 NA NA NA NA
## 107 914 NA NA NA NA
## 108 915 NA NA NA NA
## 109 921 NA NA NA NA
## 110 922 NA NA NA NA
## 111 923 NA NA NA NA
## 112 924 NA NA NA NA
## 113 925 NA NA NA NA
## 114 931 NA NA NA NA
## 115 932 NA NA NA NA
## 116 933 NA NA NA NA
## 117 934 NA NA NA NA
## 118 935 NA NA NA NA
## 119 1011 NA NA NA NA
## 120 1012 NA NA NA NA
## 121 1013 NA NA NA NA
## 122 1014 NA NA NA NA
## 123 1021 NA NA NA NA
## 124 1022 NA NA NA NA
## 125 1023 NA NA NA NA
## 126 1024 NA NA NA NA
## 127 1031 NA NA NA NA
## 128 1032 NA NA NA NA
## 129 1033 NA NA NA NA
## 130 1034 NA NA NA NA
## 131 1111 NA NA NA NA
## 132 1112 NA NA NA NA
## 133 1113 NA NA NA NA
## 134 1114 NA NA NA NA
## 135 1115 NA NA NA NA
## 136 1121 NA NA NA NA
## 137 1122 NA NA NA NA
## 138 1123 NA NA NA NA
## 139 1124 NA NA NA NA
## 140 1125 NA NA NA NA
## 141 1131 NA NA NA NA
## 142 1132 NA NA NA NA
## 143 1133 NA NA NA NA
## 144 1134 NA NA NA NA
## 145 1135 NA NA NA NA
## 146 1211 NA NA NA NA
## 147 1212 NA NA NA NA
## 148 1213 NA NA NA NA
## 149 1214 NA NA NA NA
## 150 1215 NA NA NA NA
## 151 1221 NA NA NA NA
## 152 1222 NA NA NA NA
## 153 1223 NA NA NA NA
## 154 1224 NA NA NA NA
## 155 1225 NA NA NA NA
## 156 1231 NA NA NA NA
## 157 1232 NA NA NA NA
## 158 1233 NA NA NA NA
## 159 1234 NA NA NA NA
## 160 1235 NA NA NA NA
## 161 1311 NA NA NA NA
## 162 1312 NA NA NA NA
## 163 1313 NA NA NA NA
## 164 1322 NA NA NA NA
## 165 1323 NA NA NA NA
## 166 1324 NA NA NA NA
## 167 1331 NA NA NA NA
## 168 1332 NA NA NA NA
## 169 1333 NA NA NA NA
## 170 1411 NA NA NA NA
## 171 1412 NA NA NA NA
## 172 1413 NA NA NA NA
## 173 1414 NA NA NA NA
## 174 1421 NA NA NA NA
## 175 1422 NA NA NA NA
## 176 1423 NA NA NA NA
## 177 1424 NA NA NA NA
## 178 1431 NA NA NA NA
## 179 1432 NA NA NA NA
## 180 1433 NA NA NA NA
## 181 1434 NA NA NA NA
## 182 1511 NA NA NA NA
## 183 1512 NA NA NA NA
## 184 1513 NA NA NA NA
## 185 1522 NA NA NA NA
## 186 1523 NA NA NA NA
## 187 1524 NA NA NA NA
## 188 1531 NA NA NA NA
## 189 1532 NA NA NA NA
## 190 1533 NA NA NA NA
## 191 1611 NA NA NA NA
## 192 1612 NA NA NA NA
## 193 1613 NA NA NA NA
## 194 1614 NA NA NA NA
## 195 1621 NA NA NA NA
## 196 1622 NA NA NA NA
## 197 1623 NA NA NA NA
## 198 1624 NA NA NA NA
## 199 1631 NA NA NA NA
## 200 1632 NA NA NA NA
## 201 1633 NA NA NA NA
## 202 1634 NA NA NA NA
## 203 1651 NA NA NA NA
## 204 1654 NA NA NA NA
## 205 1711 NA NA NA NA
## 206 1712 NA NA NA NA
## 207 1713 NA NA NA NA
## 208 1722 NA NA NA NA
## 209 1723 NA NA NA NA
## 210 1724 NA NA NA NA
## 211 1731 NA NA NA NA
## 212 1732 NA NA NA NA
## 213 1733 NA NA NA NA
## 214 1811 NA NA NA NA
## 215 1812 NA NA NA NA
## 216 1813 NA NA NA NA
## 217 1814 NA NA NA NA
## 218 1821 NA NA NA NA
## 219 1822 NA NA NA NA
## 220 1823 NA NA NA NA
## 221 1824 NA NA NA NA
## 222 1831 NA NA NA NA
## 223 1832 NA NA NA NA
## 224 1833 NA NA NA NA
## 225 1834 NA NA NA NA
## 226 1911 NA NA NA NA
## 227 1912 NA NA NA 16
## 228 1913 NA NA NA 22
## 229 1914 NA NA NA 49
## 230 1915 NA NA NA 59
## 231 1921 NA NA NA NA
## 232 1922 NA NA NA 161
## 233 1923 NA NA NA NA
## 234 1924 NA NA NA NA
## 235 1925 NA NA NA 1
## 236 1931 NA NA NA NA
## 237 1932 NA NA NA NA
## 238 1933 NA NA NA NA
## 239 1934 NA NA NA NA
## 240 1935 NA NA NA NA
## 241 2011 NA NA 299 NA
## 242 2012 NA NA NA NA
## 243 2013 NA NA NA NA
## 244 2022 NA NA NA NA
## 245 2023 NA NA NA NA
## 246 2024 NA NA NA 269
## 247 2031 NA NA NA NA
## 248 2032 NA NA NA 137
## 249 2033 NA NA NA 218
## 250 2111 NA NA NA NA
## 251 2112 NA NA NA NA
## 252 2113 NA NA NA NA
## 253 2122 NA NA NA NA
## 254 2123 NA NA NA NA
## 255 2124 NA NA NA NA
## 256 2131 NA NA NA NA
## 257 2132 NA NA NA NA
## 258 2133 NA NA NA NA
## 259 2211 NA NA NA NA
## 260 2212 NA NA NA NA
## 261 2213 NA NA NA NA
## 262 2221 NA NA NA NA
## 263 2222 NA NA NA NA
## 264 2223 NA NA NA NA
## 265 2232 NA NA NA NA
## 266 2233 NA NA NA NA
## 267 2234 NA NA NA NA
## 268 2311 NA NA NA 232
## 269 2312 NA NA NA 199
## 270 2313 NA NA NA 174
## 271 2322 NA NA NA 217
## 272 2323 NA NA NA 127
## 273 2324 NA NA NA NA
## 274 2331 NA NA NA NA
## 275 2332 NA NA NA NA
## 276 2333 NA NA NA NA
## 277 2411 NA NA 557 NA
## 278 2412 NA NA 678 NA
## 279 2413 NA NA 985 NA
## 280 2422 NA 308 NA NA
## 281 2423 NA 351 NA NA
## 282 2424 NA 447 NA NA
## 283 2431 NA 243 NA NA
## 284 2432 NA 377 NA NA
## 285 2433 NA NA 10 NA
## 286 2511 NA NA NA NA
## 287 2512 NA NA NA NA
## 288 2513 NA NA NA NA
## 289 2514 NA NA NA NA
## 290 2515 NA NA NA NA
## 291 2521 NA NA NA NA
## 292 2522 NA NA NA NA
## 293 2523 NA NA NA NA
## 294 2524 NA NA NA NA
## 295 2525 NA NA NA NA
## 296 2531 NA NA NA NA
## 297 2532 NA NA NA NA
## 298 2533 NA NA NA NA
## 299 2534 NA NA NA NA
## 300 2535 NA NA NA NA
## CommunityArea.4 CommunityArea.5 CommunityArea.6 CommunityArea.7
## 1 NA NA NA NA
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## 7 NA NA NA NA
## 8 NA NA NA NA
## 9 NA NA NA NA
## 10 NA NA NA NA
## 11 NA NA NA NA
## 12 NA NA NA NA
## 13 NA NA NA NA
## 14 NA NA NA NA
## 15 NA NA NA NA
## 16 NA NA NA NA
## 17 NA NA NA NA
## 18 NA NA NA NA
## 19 NA NA NA NA
## 20 NA NA NA NA
## 21 NA NA NA NA
## 22 NA NA NA NA
## 23 NA NA NA NA
## 24 NA NA NA NA
## 25 NA NA NA NA
## 26 NA NA NA NA
## 27 NA NA NA NA
## 28 NA NA NA NA
## 29 NA NA NA NA
## 30 NA NA NA NA
## 31 NA NA NA NA
## 32 NA NA NA NA
## 33 NA NA NA NA
## 34 NA NA NA NA
## 35 NA NA NA NA
## 36 NA NA NA NA
## 37 NA NA NA NA
## 38 NA NA NA NA
## 39 NA NA NA NA
## 40 NA NA NA NA
## 41 NA NA NA NA
## 42 NA NA NA NA
## 43 NA NA NA NA
## 44 NA NA NA NA
## 45 NA NA NA NA
## 46 NA NA NA NA
## 47 NA NA NA NA
## 48 NA NA NA NA
## 49 NA NA NA NA
## 50 NA NA NA NA
## 51 NA NA NA NA
## 52 NA NA NA NA
## 53 NA NA NA NA
## 54 NA NA NA NA
## 55 NA NA NA NA
## 56 NA NA NA NA
## 57 NA NA NA NA
## 58 NA NA NA NA
## 59 NA NA NA NA
## 60 NA NA NA NA
## 61 NA NA NA NA
## 62 NA NA NA NA
## 63 NA NA NA NA
## 64 NA NA NA NA
## 65 NA NA NA NA
## 66 NA NA NA NA
## 67 NA NA NA NA
## 68 NA NA NA NA
## 69 NA NA NA NA
## 70 NA NA NA NA
## 71 NA NA NA NA
## 72 NA NA NA NA
## 73 NA NA NA NA
## 74 NA NA NA NA
## 75 NA NA NA NA
## 76 NA NA NA NA
## 77 NA NA NA NA
## 78 NA NA NA NA
## 79 NA NA NA NA
## 80 NA NA NA NA
## 81 NA NA NA NA
## 82 NA NA NA NA
## 83 NA NA NA NA
## 84 NA NA NA NA
## 85 NA NA NA NA
## 86 NA NA NA NA
## 87 NA NA NA NA
## 88 NA NA NA NA
## 89 NA NA NA NA
## 90 NA NA NA NA
## 91 NA NA NA NA
## 92 NA NA NA NA
## 93 NA NA NA NA
## 94 NA NA NA NA
## 95 NA NA NA NA
## 96 NA NA NA NA
## 97 NA NA NA NA
## 98 NA NA NA NA
## 99 NA NA NA NA
## 100 NA NA NA NA
## 101 NA NA NA NA
## 102 NA NA NA NA
## 103 NA NA NA NA
## 104 NA NA NA NA
## 105 NA NA NA NA
## 106 NA NA NA NA
## 107 NA NA NA NA
## 108 NA NA NA NA
## 109 NA NA NA NA
## 110 NA NA NA NA
## 111 NA NA NA NA
## 112 NA NA NA NA
## 113 NA NA NA NA
## 114 NA NA NA NA
## 115 NA NA NA NA
## 116 NA NA NA NA
## 117 NA NA NA NA
## 118 NA NA NA NA
## 119 NA NA NA NA
## 120 NA NA NA NA
## 121 NA NA NA NA
## 122 NA NA NA NA
## 123 NA NA NA NA
## 124 NA NA NA NA
## 125 NA NA NA NA
## 126 NA NA NA NA
## 127 NA NA NA NA
## 128 NA NA NA NA
## 129 NA NA NA NA
## 130 NA NA NA NA
## 131 NA NA NA NA
## 132 NA NA NA NA
## 133 NA NA NA NA
## 134 NA NA NA NA
## 135 NA NA NA NA
## 136 NA NA NA NA
## 137 NA NA NA NA
## 138 NA NA NA NA
## 139 NA NA NA NA
## 140 NA NA NA NA
## 141 NA NA NA NA
## 142 NA NA NA NA
## 143 NA NA NA NA
## 144 NA NA NA NA
## 145 NA NA NA NA
## 146 NA NA NA NA
## 147 NA NA NA NA
## 148 NA NA NA NA
## 149 NA NA NA NA
## 150 NA NA NA NA
## 151 NA NA NA NA
## 152 NA NA NA NA
## 153 NA NA NA NA
## 154 NA NA NA NA
## 155 NA NA NA NA
## 156 NA NA NA NA
## 157 NA NA NA NA
## 158 NA NA NA NA
## 159 NA NA NA NA
## 160 NA NA NA NA
## 161 NA NA NA NA
## 162 NA NA NA NA
## 163 NA NA NA NA
## 164 NA NA NA NA
## 165 NA NA NA NA
## 166 NA NA NA NA
## 167 NA NA NA NA
## 168 NA NA NA NA
## 169 NA NA NA NA
## 170 NA NA NA NA
## 171 NA NA NA NA
## 172 NA NA NA NA
## 173 NA NA NA NA
## 174 NA NA NA NA
## 175 NA NA NA NA
## 176 NA NA NA NA
## 177 NA NA NA NA
## 178 NA NA NA NA
## 179 NA NA NA NA
## 180 NA NA NA NA
## 181 NA NA NA NA
## 182 NA NA NA NA
## 183 NA NA NA NA
## 184 NA NA NA NA
## 185 NA NA NA NA
## 186 NA NA NA NA
## 187 NA NA NA NA
## 188 NA NA NA NA
## 189 NA NA NA NA
## 190 NA NA NA NA
## 191 NA NA NA NA
## 192 NA NA NA NA
## 193 NA NA NA NA
## 194 NA NA NA NA
## 195 NA NA NA NA
## 196 NA NA NA NA
## 197 NA NA NA NA
## 198 NA NA NA NA
## 199 NA NA NA NA
## 200 NA NA NA NA
## 201 NA NA NA NA
## 202 NA NA NA NA
## 203 NA NA NA NA
## 204 NA 1 NA NA
## 205 NA NA NA NA
## 206 NA NA NA NA
## 207 NA NA NA NA
## 208 NA NA NA NA
## 209 NA NA NA NA
## 210 NA NA NA NA
## 211 NA NA NA NA
## 212 NA NA NA NA
## 213 NA NA NA NA
## 214 NA NA NA 351
## 215 NA NA NA 357
## 216 NA NA NA 267
## 217 NA NA NA 382
## 218 NA NA NA NA
## 219 NA NA NA NA
## 220 NA NA NA NA
## 221 NA NA NA NA
## 222 NA NA NA NA
## 223 NA NA NA NA
## 224 NA NA NA NA
## 225 NA NA NA NA
## 226 300 22 NA NA
## 227 6 394 18 NA
## 228 NA 305 NA 11
## 229 NA NA NA NA
## 230 NA NA NA NA
## 231 NA 31 NA NA
## 232 84 52 120 NA
## 233 NA 131 446 NA
## 234 NA 56 393 NA
## 235 NA NA 44 NA
## 236 NA 80 127 202
## 237 NA NA 407 17
## 238 NA NA 34 493
## 239 NA NA 24 NA
## 240 NA NA NA 60
## 241 377 NA NA NA
## 242 136 NA NA NA
## 243 NA NA NA NA
## 244 NA NA NA NA
## 245 NA NA NA NA
## 246 NA NA NA NA
## 247 320 NA NA NA
## 248 132 NA NA NA
## 249 NA NA NA NA
## 250 NA NA NA NA
## 251 NA NA NA NA
## 252 NA NA NA NA
## 253 NA NA NA NA
## 254 NA NA NA NA
## 255 NA NA NA NA
## 256 NA NA NA NA
## 257 NA NA NA NA
## 258 NA NA NA NA
## 259 NA NA NA NA
## 260 NA NA NA NA
## 261 NA NA NA NA
## 262 NA NA NA NA
## 263 NA NA NA NA
## 264 NA NA NA NA
## 265 NA NA NA NA
## 266 NA NA NA NA
## 267 NA NA NA NA
## 268 NA NA NA NA
## 269 NA NA NA NA
## 270 NA NA NA NA
## 271 NA NA NA NA
## 272 NA NA 112 NA
## 273 NA NA 202 NA
## 274 NA NA 291 NA
## 275 NA NA 279 NA
## 276 NA NA 170 273
## 277 NA NA NA NA
## 278 NA NA NA NA
## 279 NA NA NA NA
## 280 NA NA NA NA
## 281 NA NA NA NA
## 282 NA NA NA NA
## 283 NA NA NA NA
## 284 NA NA NA NA
## 285 NA NA NA NA
## 286 NA NA NA NA
## 287 NA NA NA NA
## 288 NA NA NA NA
## 289 NA NA NA NA
## 290 NA NA NA NA
## 291 NA NA NA NA
## 292 NA NA NA NA
## 293 NA NA NA NA
## 294 NA NA NA NA
## 295 NA NA NA NA
## 296 NA NA NA NA
## 297 NA NA NA NA
## 298 NA NA NA NA
## 299 NA NA NA NA
## 300 NA NA NA NA
## CommunityArea.8 CommunityArea.9 CommunityArea.10 CommunityArea.11
## 1 NA NA NA NA
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## 7 NA NA NA NA
## 8 NA NA NA NA
## 9 NA NA NA NA
## 10 NA NA NA NA
## 11 NA NA NA NA
## 12 NA NA NA NA
## 13 NA NA NA NA
## 14 NA NA NA NA
## 15 NA NA NA NA
## 16 NA NA NA NA
## 17 NA NA NA NA
## 18 NA NA NA NA
## 19 NA NA NA NA
## 20 NA NA NA NA
## 21 NA NA NA NA
## 22 NA NA NA NA
## 23 NA NA NA NA
## 24 NA NA NA NA
## 25 NA NA NA NA
## 26 NA NA NA NA
## 27 NA NA NA NA
## 28 NA NA NA NA
## 29 NA NA NA NA
## 30 NA NA NA NA
## 31 NA NA NA NA
## 32 NA NA NA NA
## 33 NA NA NA NA
## 34 NA NA NA NA
## 35 NA NA NA NA
## 36 NA NA NA NA
## 37 NA NA NA NA
## 38 NA NA NA NA
## 39 NA NA NA NA
## 40 NA NA NA NA
## 41 NA NA NA NA
## 42 NA NA NA NA
## 43 NA NA NA NA
## 44 NA NA NA NA
## 45 NA NA NA NA
## 46 NA NA NA NA
## 47 NA NA NA NA
## 48 NA NA NA NA
## 49 NA NA NA NA
## 50 NA NA NA NA
## 51 NA NA NA NA
## 52 NA NA NA NA
## 53 NA NA NA NA
## 54 NA NA NA NA
## 55 NA NA NA NA
## 56 NA NA NA NA
## 57 NA NA NA NA
## 58 NA NA NA NA
## 59 NA NA NA NA
## 60 NA NA NA NA
## 61 NA NA NA NA
## 62 NA NA NA NA
## 63 NA NA NA NA
## 64 NA NA NA NA
## 65 NA NA NA NA
## 66 NA NA NA NA
## 67 NA NA NA NA
## 68 NA NA NA NA
## 69 NA NA NA NA
## 70 NA NA NA NA
## 71 NA NA NA NA
## 72 NA NA NA NA
## 73 NA NA NA NA
## 74 NA NA NA NA
## 75 NA NA NA NA
## 76 NA NA NA NA
## 77 NA NA NA NA
## 78 NA NA NA NA
## 79 NA NA NA NA
## 80 NA NA NA NA
## 81 NA NA NA NA
## 82 NA NA NA NA
## 83 NA NA NA NA
## 84 NA NA NA NA
## 85 NA NA NA NA
## 86 NA NA NA NA
## 87 NA NA NA NA
## 88 NA NA NA NA
## 89 NA NA NA NA
## 90 NA NA NA NA
## 91 NA NA NA NA
## 92 NA NA NA NA
## 93 NA NA NA NA
## 94 NA NA NA NA
## 95 NA NA NA NA
## 96 NA NA NA NA
## 97 NA NA NA NA
## 98 NA NA NA NA
## 99 NA NA NA NA
## 100 NA NA NA NA
## 101 NA NA NA NA
## 102 NA NA NA NA
## 103 NA NA NA NA
## 104 NA NA NA NA
## 105 NA NA NA NA
## 106 NA NA NA NA
## 107 NA NA NA NA
## 108 NA NA NA NA
## 109 NA NA NA NA
## 110 NA NA NA NA
## 111 NA NA NA NA
## 112 NA NA NA NA
## 113 NA NA NA NA
## 114 NA NA NA NA
## 115 NA NA NA NA
## 116 NA NA NA NA
## 117 NA NA NA NA
## 118 NA NA NA NA
## 119 NA NA NA NA
## 120 NA NA NA NA
## 121 NA NA NA NA
## 122 NA NA NA NA
## 123 NA NA NA NA
## 124 NA NA NA NA
## 125 NA NA NA NA
## 126 NA NA NA NA
## 127 NA NA NA NA
## 128 NA NA NA NA
## 129 NA NA NA NA
## 130 NA NA NA NA
## 131 NA NA NA NA
## 132 NA NA NA NA
## 133 NA NA NA NA
## 134 NA NA NA NA
## 135 NA NA NA NA
## 136 NA NA NA NA
## 137 NA NA NA NA
## 138 NA NA NA NA
## 139 NA NA NA NA
## 140 NA NA NA NA
## 141 NA NA NA NA
## 142 NA NA NA NA
## 143 NA NA NA NA
## 144 NA NA NA NA
## 145 NA NA NA NA
## 146 NA NA NA NA
## 147 NA NA NA NA
## 148 NA NA NA NA
## 149 NA NA NA NA
## 150 NA NA NA NA
## 151 NA NA NA NA
## 152 NA NA NA NA
## 153 NA NA NA NA
## 154 NA NA NA NA
## 155 NA NA NA NA
## 156 NA NA NA NA
## 157 NA NA NA NA
## 158 NA NA NA NA
## 159 NA NA NA NA
## 160 NA NA NA NA
## 161 NA NA NA NA
## 162 NA NA NA NA
## 163 NA NA NA NA
## 164 NA NA NA NA
## 165 NA NA NA NA
## 166 NA NA NA NA
## 167 NA NA NA NA
## 168 NA NA NA NA
## 169 NA NA NA NA
## 170 NA NA NA NA
## 171 NA NA NA NA
## 172 NA NA NA NA
## 173 NA NA NA NA
## 174 NA NA NA NA
## 175 NA NA NA NA
## 176 NA NA NA NA
## 177 NA NA NA NA
## 178 NA NA NA NA
## 179 NA NA NA NA
## 180 NA NA NA NA
## 181 NA NA NA NA
## 182 NA NA NA NA
## 183 NA NA NA NA
## 184 NA NA NA NA
## 185 NA NA NA NA
## 186 NA NA NA NA
## 187 NA NA NA NA
## 188 NA NA NA NA
## 189 NA NA NA NA
## 190 NA NA NA NA
## 191 NA 54 120 9
## 192 NA 24 76 NA
## 193 NA NA 196 NA
## 194 NA NA 21 NA
## 195 NA NA NA 22
## 196 NA NA 60 375
## 197 NA NA NA 287
## 198 NA NA NA NA
## 199 NA NA NA NA
## 200 NA NA NA NA
## 201 NA NA NA NA
## 202 NA NA NA NA
## 203 NA NA NA NA
## 204 NA NA NA NA
## 205 NA NA NA NA
## 206 NA NA NA NA
## 207 NA NA NA NA
## 208 NA NA NA NA
## 209 NA NA NA NA
## 210 NA NA NA NA
## 211 NA NA NA NA
## 212 NA NA NA NA
## 213 NA NA NA NA
## 214 NA NA NA NA
## 215 NA NA NA NA
## 216 NA NA NA NA
## 217 NA NA NA NA
## 218 289 NA NA NA
## 219 371 NA NA NA
## 220 197 NA NA NA
## 221 379 NA NA NA
## 222 512 NA NA NA
## 223 301 NA NA NA
## 224 109 NA NA NA
## 225 293 NA NA NA
## 226 NA NA NA NA
## 227 NA NA NA NA
## 228 NA NA NA NA
## 229 NA NA NA NA
## 230 NA NA NA NA
## 231 NA NA NA NA
## 232 NA NA NA NA
## 233 NA NA NA NA
## 234 NA NA NA NA
## 235 NA NA NA NA
## 236 NA NA NA NA
## 237 NA NA NA NA
## 238 NA NA NA NA
## 239 NA NA NA NA
## 240 NA NA NA NA
## 241 NA NA NA NA
## 242 NA NA NA NA
## 243 NA NA NA NA
## 244 NA NA NA NA
## 245 NA NA NA NA
## 246 NA NA NA NA
## 247 NA NA NA NA
## 248 NA NA NA NA
## 249 NA NA NA NA
## 250 NA NA NA NA
## 251 NA NA NA NA
## 252 NA NA NA NA
## 253 NA NA NA NA
## 254 NA NA NA NA
## 255 NA NA NA NA
## 256 NA NA NA NA
## 257 NA NA NA NA
## 258 NA NA NA NA
## 259 NA NA NA NA
## 260 NA NA NA NA
## 261 NA NA NA NA
## 262 NA NA NA NA
## 263 NA NA NA NA
## 264 NA NA NA NA
## 265 NA NA NA NA
## 266 NA NA NA NA
## 267 NA NA NA NA
## 268 NA NA NA NA
## 269 NA NA NA NA
## 270 NA NA NA NA
## 271 NA NA NA NA
## 272 NA NA NA NA
## 273 NA NA NA NA
## 274 NA NA NA NA
## 275 NA NA NA NA
## 276 NA NA NA NA
## 277 NA NA NA NA
## 278 NA NA NA NA
## 279 NA NA NA NA
## 280 NA NA NA NA
## 281 NA NA NA NA
## 282 NA NA NA NA
## 283 NA NA NA NA
## 284 NA NA NA NA
## 285 NA NA NA NA
## 286 NA NA NA NA
## 287 NA NA NA NA
## 288 NA NA NA NA
## 289 NA NA NA NA
## 290 NA NA NA NA
## 291 NA NA NA NA
## 292 NA NA NA NA
## 293 NA NA NA NA
## 294 NA NA NA NA
## 295 NA NA NA NA
## 296 NA NA NA NA
## 297 NA NA NA NA
## 298 NA NA NA NA
## 299 NA NA NA NA
## 300 NA NA NA NA
## CommunityArea.12 CommunityArea.13 CommunityArea.14 CommunityArea.15
## 1 NA NA NA NA
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## 7 NA NA NA NA
## 8 NA NA NA NA
## 9 NA NA NA NA
## 10 NA NA NA NA
## 11 NA NA NA NA
## 12 NA NA NA NA
## 13 NA NA NA NA
## 14 NA NA NA NA
## 15 NA NA NA NA
## 16 NA NA NA NA
## 17 NA NA NA NA
## 18 NA NA NA NA
## 19 NA NA NA NA
## 20 NA NA NA NA
## 21 NA NA NA NA
## 22 NA NA NA NA
## 23 NA NA NA NA
## 24 NA NA NA NA
## 25 NA NA NA NA
## 26 NA NA NA NA
## 27 NA NA NA NA
## 28 NA NA NA NA
## 29 NA NA NA NA
## 30 NA NA NA NA
## 31 NA NA NA NA
## 32 NA NA NA NA
## 33 NA NA NA NA
## 34 NA NA NA NA
## 35 NA NA NA NA
## 36 NA NA NA NA
## 37 NA NA NA NA
## 38 NA NA NA NA
## 39 NA NA NA NA
## 40 NA NA NA NA
## 41 NA NA NA NA
## 42 NA NA NA NA
## 43 NA NA NA NA
## 44 NA NA NA NA
## 45 NA NA NA NA
## 46 NA NA NA NA
## 47 NA NA NA NA
## 48 NA NA NA NA
## 49 NA NA NA NA
## 50 NA NA NA NA
## 51 NA NA NA NA
## 52 NA NA NA NA
## 53 NA NA NA NA
## 54 NA NA NA NA
## 55 NA NA NA NA
## 56 NA NA NA NA
## 57 NA NA NA NA
## 58 NA NA NA NA
## 59 NA NA NA NA
## 60 NA NA NA NA
## 61 NA NA NA NA
## 62 NA NA NA NA
## 63 NA NA NA NA
## 64 NA NA NA NA
## 65 NA NA NA NA
## 66 NA NA NA NA
## 67 NA NA NA NA
## 68 NA NA NA NA
## 69 NA NA NA NA
## 70 NA NA NA NA
## 71 NA NA NA NA
## 72 NA NA NA NA
## 73 NA NA NA NA
## 74 NA NA NA NA
## 75 NA NA NA NA
## 76 NA NA NA NA
## 77 NA NA NA NA
## 78 NA NA NA NA
## 79 NA NA NA NA
## 80 NA NA NA NA
## 81 NA NA NA NA
## 82 NA NA NA NA
## 83 NA NA NA NA
## 84 NA NA NA NA
## 85 NA NA NA NA
## 86 NA NA NA NA
## 87 NA NA NA NA
## 88 NA NA NA NA
## 89 NA NA NA NA
## 90 NA NA NA NA
## 91 NA NA NA NA
## 92 NA NA NA NA
## 93 NA NA NA NA
## 94 NA NA NA NA
## 95 NA NA NA NA
## 96 NA NA NA NA
## 97 NA NA NA NA
## 98 NA NA NA NA
## 99 NA NA NA NA
## 100 NA NA NA NA
## 101 NA NA NA NA
## 102 NA NA NA NA
## 103 NA NA NA NA
## 104 NA NA NA NA
## 105 NA NA NA NA
## 106 NA NA NA NA
## 107 NA NA NA NA
## 108 NA NA NA NA
## 109 NA NA NA NA
## 110 NA NA NA NA
## 111 NA NA NA NA
## 112 NA NA NA NA
## 113 NA NA NA NA
## 114 NA NA NA NA
## 115 NA NA NA NA
## 116 NA NA NA NA
## 117 NA NA NA NA
## 118 NA NA NA NA
## 119 NA NA NA NA
## 120 NA NA NA NA
## 121 NA NA NA NA
## 122 NA NA NA NA
## 123 NA NA NA NA
## 124 NA NA NA NA
## 125 NA NA NA NA
## 126 NA NA NA NA
## 127 NA NA NA NA
## 128 NA NA NA NA
## 129 NA NA NA NA
## 130 NA NA NA NA
## 131 NA NA NA NA
## 132 NA NA NA NA
## 133 NA NA NA NA
## 134 NA NA NA NA
## 135 NA NA NA NA
## 136 NA NA NA NA
## 137 NA NA NA NA
## 138 NA NA NA NA
## 139 NA NA NA NA
## 140 NA NA NA NA
## 141 NA NA NA NA
## 142 NA NA NA NA
## 143 NA NA NA NA
## 144 NA NA NA NA
## 145 NA NA NA NA
## 146 NA NA NA NA
## 147 NA NA NA NA
## 148 NA NA NA NA
## 149 NA NA NA NA
## 150 NA NA NA NA
## 151 NA NA NA NA
## 152 NA NA NA NA
## 153 NA NA NA NA
## 154 NA NA NA NA
## 155 NA NA NA NA
## 156 NA NA NA NA
## 157 NA NA NA NA
## 158 NA NA NA NA
## 159 NA NA NA NA
## 160 NA NA NA NA
## 161 NA NA NA NA
## 162 NA NA NA NA
## 163 NA NA NA NA
## 164 NA NA NA NA
## 165 NA NA NA NA
## 166 NA NA NA NA
## 167 NA NA NA NA
## 168 NA NA NA NA
## 169 NA NA NA NA
## 170 NA NA NA NA
## 171 NA NA NA NA
## 172 NA NA NA NA
## 173 NA NA NA NA
## 174 NA NA NA NA
## 175 NA NA NA NA
## 176 NA NA NA NA
## 177 NA NA NA NA
## 178 NA NA NA NA
## 179 NA NA NA NA
## 180 NA NA NA NA
## 181 NA NA NA NA
## 182 NA NA NA NA
## 183 NA NA NA NA
## 184 NA NA NA NA
## 185 NA NA NA NA
## 186 NA NA NA NA
## 187 NA NA NA NA
## 188 NA NA NA NA
## 189 NA NA NA NA
## 190 NA NA NA NA
## 191 NA NA NA NA
## 192 NA NA NA NA
## 193 NA NA NA NA
## 194 NA NA NA NA
## 195 108 NA NA NA
## 196 NA NA NA 212
## 197 68 NA NA 230
## 198 NA NA NA 648
## 199 NA NA NA NA
## 200 NA NA NA NA
## 201 NA NA NA 610
## 202 NA NA NA 794
## 203 NA NA NA NA
## 204 NA NA NA NA
## 205 60 431 NA NA
## 206 NA 263 572 NA
## 207 NA 23 529 NA
## 208 NA NA 181 79
## 209 NA NA 529 NA
## 210 NA NA 238 NA
## 211 NA NA NA 272
## 212 NA NA NA NA
## 213 NA NA NA NA
## 214 NA NA NA NA
## 215 NA NA NA NA
## 216 NA NA NA NA
## 217 NA NA NA NA
## 218 NA NA NA NA
## 219 NA NA NA NA
## 220 NA NA NA NA
## 221 NA NA NA NA
## 222 NA NA NA NA
## 223 NA NA NA NA
## 224 NA NA NA NA
## 225 NA NA NA NA
## 226 NA NA NA NA
## 227 NA NA NA NA
## 228 NA NA NA NA
## 229 NA NA NA NA
## 230 NA NA NA NA
## 231 NA NA NA NA
## 232 NA NA NA NA
## 233 NA NA NA NA
## 234 NA NA NA NA
## 235 NA NA NA NA
## 236 NA NA NA NA
## 237 NA NA NA NA
## 238 NA NA NA NA
## 239 NA NA NA NA
## 240 NA NA NA NA
## 241 NA NA NA NA
## 242 NA NA NA NA
## 243 NA NA NA NA
## 244 NA NA NA NA
## 245 NA NA NA NA
## 246 NA NA NA NA
## 247 NA NA NA NA
## 248 NA NA NA NA
## 249 NA NA NA NA
## 250 NA NA NA NA
## 251 NA NA NA NA
## 252 NA NA NA NA
## 253 NA NA NA NA
## 254 NA NA NA NA
## 255 NA NA NA NA
## 256 NA NA NA NA
## 257 NA NA NA NA
## 258 NA NA NA NA
## 259 NA NA NA NA
## 260 NA NA NA NA
## 261 NA NA NA NA
## 262 NA NA NA NA
## 263 NA NA NA NA
## 264 NA NA NA NA
## 265 NA NA NA NA
## 266 NA NA NA NA
## 267 NA NA NA NA
## 268 NA NA NA NA
## 269 NA NA NA NA
## 270 NA NA NA NA
## 271 NA NA NA NA
## 272 NA NA NA NA
## 273 NA NA NA NA
## 274 NA NA NA NA
## 275 NA NA NA NA
## 276 NA NA NA NA
## 277 NA NA NA NA
## 278 NA NA NA NA
## 279 NA NA NA NA
## 280 NA NA NA NA
## 281 NA NA NA NA
## 282 NA NA NA NA
## 283 NA NA NA NA
## 284 NA NA NA NA
## 285 NA NA NA NA
## 286 NA NA NA NA
## 287 NA NA NA NA
## 288 NA NA NA NA
## 289 NA NA NA NA
## 290 NA NA NA NA
## 291 NA NA NA NA
## 292 NA NA NA NA
## 293 NA NA NA NA
## 294 NA NA NA NA
## 295 NA NA NA NA
## 296 NA NA NA NA
## 297 NA NA NA NA
## 298 NA NA NA NA
## 299 NA NA NA NA
## 300 NA NA NA NA
## CommunityArea.16 CommunityArea.17 CommunityArea.18 CommunityArea.19
## 1 NA NA NA NA
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## 7 NA NA NA NA
## 8 NA NA NA NA
## 9 NA NA NA NA
## 10 NA NA NA NA
## 11 NA NA NA NA
## 12 NA NA NA NA
## 13 NA NA NA NA
## 14 NA NA NA NA
## 15 NA NA NA NA
## 16 NA NA NA NA
## 17 NA NA NA NA
## 18 NA NA NA NA
## 19 NA NA NA NA
## 20 NA NA NA NA
## 21 NA NA NA NA
## 22 NA NA NA NA
## 23 NA NA NA NA
## 24 NA NA NA NA
## 25 NA NA NA NA
## 26 NA NA NA NA
## 27 NA NA NA NA
## 28 NA NA NA NA
## 29 NA NA NA NA
## 30 NA NA NA NA
## 31 NA NA NA NA
## 32 NA NA NA NA
## 33 NA NA NA NA
## 34 NA NA NA NA
## 35 NA NA NA NA
## 36 NA NA NA NA
## 37 NA NA NA NA
## 38 NA NA NA NA
## 39 NA NA NA NA
## 40 NA NA NA NA
## 41 NA NA NA NA
## 42 NA NA NA NA
## 43 NA NA NA NA
## 44 NA NA NA NA
## 45 NA NA NA NA
## 46 NA NA NA NA
## 47 NA NA NA NA
## 48 NA NA NA NA
## 49 NA NA NA NA
## 50 NA NA NA NA
## 51 NA NA NA NA
## 52 NA NA NA NA
## 53 NA NA NA NA
## 54 NA NA NA NA
## 55 NA NA NA NA
## 56 NA NA NA NA
## 57 NA NA NA NA
## 58 NA NA NA NA
## 59 NA NA NA NA
## 60 NA NA NA NA
## 61 NA NA NA NA
## 62 NA NA NA NA
## 63 NA NA NA NA
## 64 NA NA NA NA
## 65 NA NA NA NA
## 66 NA NA NA NA
## 67 NA NA NA NA
## 68 NA NA NA NA
## 69 NA NA NA NA
## 70 NA NA NA NA
## 71 NA NA NA NA
## 72 NA NA NA NA
## 73 NA NA NA NA
## 74 NA NA NA NA
## 75 NA NA NA NA
## 76 NA NA NA NA
## 77 NA NA NA NA
## 78 NA NA NA NA
## 79 NA NA NA NA
## 80 NA NA NA NA
## 81 NA NA NA NA
## 82 NA NA NA NA
## 83 NA NA NA NA
## 84 NA NA NA NA
## 85 NA NA NA NA
## 86 NA NA NA NA
## 87 NA NA NA NA
## 88 NA NA NA NA
## 89 NA NA NA NA
## 90 NA NA NA NA
## 91 NA NA NA NA
## 92 NA NA NA NA
## 93 NA NA NA NA
## 94 NA NA NA NA
## 95 NA NA NA NA
## 96 NA NA NA NA
## 97 NA NA NA NA
## 98 NA NA NA NA
## 99 NA NA NA NA
## 100 NA NA NA NA
## 101 NA NA NA NA
## 102 NA NA NA NA
## 103 NA NA NA NA
## 104 NA NA NA NA
## 105 NA NA NA NA
## 106 NA NA NA NA
## 107 NA NA NA NA
## 108 NA NA NA NA
## 109 NA NA NA NA
## 110 NA NA NA NA
## 111 NA NA NA NA
## 112 NA NA NA NA
## 113 NA NA NA NA
## 114 NA NA NA NA
## 115 NA NA NA NA
## 116 NA NA NA NA
## 117 NA NA NA NA
## 118 NA NA NA NA
## 119 NA NA NA NA
## 120 NA NA NA NA
## 121 NA NA NA NA
## 122 NA NA NA NA
## 123 NA NA NA NA
## 124 NA NA NA NA
## 125 NA NA NA NA
## 126 NA NA NA NA
## 127 NA NA NA NA
## 128 NA NA NA NA
## 129 NA NA NA NA
## 130 NA NA NA NA
## 131 NA NA NA NA
## 132 NA NA NA NA
## 133 NA NA NA NA
## 134 NA NA NA NA
## 135 NA NA NA NA
## 136 NA NA NA NA
## 137 NA NA NA NA
## 138 NA NA NA NA
## 139 NA NA NA NA
## 140 NA NA NA NA
## 141 NA NA NA NA
## 142 NA NA NA NA
## 143 NA NA NA NA
## 144 NA NA NA NA
## 145 NA NA NA NA
## 146 NA NA NA NA
## 147 NA NA NA NA
## 148 NA NA NA NA
## 149 NA NA NA NA
## 150 NA NA NA NA
## 151 NA NA NA NA
## 152 NA NA NA NA
## 153 NA NA NA NA
## 154 NA NA NA NA
## 155 NA NA NA NA
## 156 NA NA NA NA
## 157 NA NA NA NA
## 158 NA NA NA NA
## 159 NA NA NA NA
## 160 NA NA NA NA
## 161 NA NA NA NA
## 162 NA NA NA NA
## 163 NA NA NA NA
## 164 NA NA NA NA
## 165 NA NA NA NA
## 166 NA NA NA NA
## 167 NA NA NA NA
## 168 NA NA NA NA
## 169 NA NA NA NA
## 170 NA NA NA NA
## 171 NA NA NA NA
## 172 NA NA NA NA
## 173 NA NA NA NA
## 174 NA NA NA NA
## 175 NA NA NA NA
## 176 NA NA NA NA
## 177 NA NA NA NA
## 178 NA NA NA NA
## 179 NA NA NA NA
## 180 NA NA NA NA
## 181 NA NA NA NA
## 182 NA NA NA NA
## 183 NA NA NA NA
## 184 NA NA NA NA
## 185 NA NA NA NA
## 186 NA NA NA NA
## 187 NA NA NA NA
## 188 NA NA NA NA
## 189 NA NA NA NA
## 190 NA NA NA NA
## 191 NA NA NA NA
## 192 NA NA NA NA
## 193 NA NA NA NA
## 194 NA 8 NA NA
## 195 NA NA NA NA
## 196 NA NA NA NA
## 197 NA NA NA NA
## 198 NA NA NA NA
## 199 NA 335 NA NA
## 200 NA 496 NA NA
## 201 NA 317 NA NA
## 202 NA NA NA NA
## 203 NA NA NA NA
## 204 NA NA NA NA
## 205 NA NA NA NA
## 206 NA NA NA NA
## 207 NA NA NA NA
## 208 561 NA NA NA
## 209 574 NA NA NA
## 210 538 NA NA NA
## 211 745 NA NA NA
## 212 530 NA NA NA
## 213 507 NA NA NA
## 214 NA NA NA NA
## 215 NA NA NA NA
## 216 NA NA NA NA
## 217 NA NA NA NA
## 218 NA NA NA NA
## 219 NA NA NA NA
## 220 NA NA NA NA
## 221 NA NA NA NA
## 222 NA NA NA NA
## 223 NA NA NA NA
## 224 NA NA NA NA
## 225 NA NA NA NA
## 226 NA NA NA NA
## 227 NA NA NA NA
## 228 NA NA NA NA
## 229 NA NA NA NA
## 230 NA NA NA NA
## 231 NA NA NA NA
## 232 NA NA NA NA
## 233 NA NA NA NA
## 234 NA NA NA NA
## 235 NA NA NA NA
## 236 NA NA NA NA
## 237 NA NA NA NA
## 238 NA NA NA NA
## 239 NA NA NA NA
## 240 NA NA NA NA
## 241 NA NA NA NA
## 242 NA NA NA NA
## 243 NA NA NA NA
## 244 NA NA NA NA
## 245 NA NA NA NA
## 246 NA NA NA NA
## 247 NA NA NA NA
## 248 NA NA NA NA
## 249 NA NA NA NA
## 250 NA NA NA NA
## 251 NA NA NA NA
## 252 NA NA NA NA
## 253 NA NA NA NA
## 254 NA NA NA NA
## 255 NA NA NA NA
## 256 NA NA NA NA
## 257 NA NA NA NA
## 258 NA NA NA NA
## 259 NA NA NA NA
## 260 NA NA NA NA
## 261 NA NA NA NA
## 262 NA NA NA NA
## 263 NA NA NA NA
## 264 NA NA NA NA
## 265 NA NA NA NA
## 266 NA NA NA NA
## 267 NA NA NA NA
## 268 NA NA NA NA
## 269 NA NA NA NA
## 270 NA NA NA NA
## 271 NA NA NA NA
## 272 NA NA NA NA
## 273 NA NA NA NA
## 274 NA NA NA NA
## 275 NA NA NA NA
## 276 NA NA NA NA
## 277 NA NA NA NA
## 278 NA NA NA NA
## 279 NA NA NA NA
## 280 NA NA NA NA
## 281 NA NA NA NA
## 282 NA NA NA NA
## 283 NA NA NA NA
## 284 NA NA NA NA
## 285 NA NA NA NA
## 286 NA 57 259 382
## 287 NA NA 468 811
## 288 NA NA NA NA
## 289 NA NA NA 1197
## 290 NA NA NA 1021
## 291 NA NA NA 1176
## 292 NA NA NA 656
## 293 NA NA NA NA
## 294 NA NA NA NA
## 295 NA NA NA NA
## 296 NA NA NA NA
## 297 NA NA NA NA
## 298 NA NA NA 103
## 299 NA NA NA NA
## 300 NA NA NA NA
## CommunityArea.20 CommunityArea.21 CommunityArea.22 CommunityArea.23
## 1 NA NA NA NA
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## 7 NA NA NA NA
## 8 NA NA NA NA
## 9 NA NA NA NA
## 10 NA NA NA NA
## 11 NA NA NA NA
## 12 NA NA NA NA
## 13 NA NA NA NA
## 14 NA NA NA NA
## 15 NA NA NA NA
## 16 NA NA NA NA
## 17 NA NA NA NA
## 18 NA NA NA NA
## 19 NA NA NA NA
## 20 NA NA NA NA
## 21 NA NA NA NA
## 22 NA NA NA NA
## 23 NA NA NA NA
## 24 NA NA NA NA
## 25 NA NA NA NA
## 26 NA NA NA NA
## 27 NA NA NA NA
## 28 NA NA NA NA
## 29 NA NA NA NA
## 30 NA NA NA NA
## 31 NA NA NA NA
## 32 NA NA NA NA
## 33 NA NA NA NA
## 34 NA NA NA NA
## 35 NA NA NA NA
## 36 NA NA NA NA
## 37 NA NA NA NA
## 38 NA NA NA NA
## 39 NA NA NA NA
## 40 NA NA NA NA
## 41 NA NA NA NA
## 42 NA NA NA NA
## 43 NA NA NA NA
## 44 NA NA NA NA
## 45 NA NA NA NA
## 46 NA NA NA NA
## 47 NA NA NA NA
## 48 NA NA NA NA
## 49 NA NA NA NA
## 50 NA NA NA NA
## 51 NA NA NA NA
## 52 NA NA NA NA
## 53 NA NA NA NA
## 54 NA NA NA NA
## 55 NA NA NA NA
## 56 NA NA NA NA
## 57 NA NA NA NA
## 58 NA NA NA NA
## 59 NA NA NA NA
## 60 NA NA NA NA
## 61 NA NA NA NA
## 62 NA NA NA NA
## 63 NA NA NA NA
## 64 NA NA NA NA
## 65 NA NA NA NA
## 66 NA NA NA NA
## 67 NA NA NA NA
## 68 NA NA NA NA
## 69 NA NA NA NA
## 70 NA NA NA NA
## 71 NA NA NA NA
## 72 NA NA NA NA
## 73 NA NA NA NA
## 74 NA NA NA NA
## 75 NA NA NA NA
## 76 NA NA NA NA
## 77 NA NA NA NA
## 78 NA NA NA NA
## 79 NA NA NA NA
## 80 NA NA NA NA
## 81 NA NA NA NA
## 82 NA NA NA NA
## 83 NA NA NA NA
## 84 NA NA NA NA
## 85 NA NA NA NA
## 86 NA NA NA NA
## 87 NA NA NA NA
## 88 NA NA NA NA
## 89 NA NA NA NA
## 90 NA NA NA NA
## 91 NA NA NA NA
## 92 NA NA NA NA
## 93 NA NA NA NA
## 94 NA NA NA NA
## 95 NA NA NA NA
## 96 NA NA NA NA
## 97 NA NA NA NA
## 98 NA NA NA NA
## 99 NA NA NA NA
## 100 NA NA NA NA
## 101 NA NA NA NA
## 102 NA NA NA NA
## 103 NA NA NA NA
## 104 NA NA NA NA
## 105 NA NA NA NA
## 106 NA NA NA NA
## 107 NA NA NA NA
## 108 NA NA NA NA
## 109 NA NA NA NA
## 110 NA NA NA NA
## 111 NA NA NA NA
## 112 NA NA NA NA
## 113 NA NA NA NA
## 114 NA NA NA NA
## 115 NA NA NA NA
## 116 NA NA NA NA
## 117 NA NA NA NA
## 118 NA NA NA NA
## 119 NA NA NA NA
## 120 NA NA NA NA
## 121 NA NA NA NA
## 122 NA NA NA NA
## 123 NA NA NA NA
## 124 NA NA NA NA
## 125 NA NA NA NA
## 126 NA NA NA NA
## 127 NA NA NA NA
## 128 NA NA NA NA
## 129 NA NA NA NA
## 130 NA NA NA NA
## 131 NA NA NA 757
## 132 NA NA NA 712
## 133 NA NA NA NA
## 134 NA NA NA NA
## 135 NA NA NA NA
## 136 NA NA NA 682
## 137 NA NA NA 275
## 138 NA NA NA 77
## 139 NA NA NA NA
## 140 NA NA NA NA
## 141 NA NA NA NA
## 142 NA NA NA NA
## 143 NA NA NA NA
## 144 NA NA NA NA
## 145 NA NA NA NA
## 146 NA NA NA 1
## 147 NA NA NA NA
## 148 NA NA NA NA
## 149 NA NA NA NA
## 150 NA NA NA NA
## 151 NA NA NA 1
## 152 NA NA NA NA
## 153 NA NA NA NA
## 154 NA NA NA NA
## 155 NA NA NA NA
## 156 NA NA NA NA
## 157 NA NA NA NA
## 158 NA NA NA NA
## 159 NA NA NA NA
## 160 NA NA NA NA
## 161 NA NA NA 78
## 162 NA NA NA NA
## 163 NA NA NA 146
## 164 NA NA NA NA
## 165 NA NA NA NA
## 166 NA NA NA NA
## 167 NA NA NA NA
## 168 NA NA NA NA
## 169 NA NA NA NA
## 170 NA 647 328 NA
## 171 NA 522 253 NA
## 172 NA NA 753 NA
## 173 NA NA 664 NA
## 174 NA NA 317 134
## 175 NA NA 179 634
## 176 NA NA NA NA
## 177 NA NA NA NA
## 178 NA NA 686 NA
## 179 NA 17 712 NA
## 180 NA NA 96 NA
## 181 NA NA 371 NA
## 182 NA NA NA NA
## 183 NA NA NA NA
## 184 NA NA NA NA
## 185 NA NA NA NA
## 186 NA NA NA NA
## 187 NA NA NA NA
## 188 NA NA NA NA
## 189 NA NA NA NA
## 190 NA NA NA NA
## 191 NA NA NA NA
## 192 NA NA NA NA
## 193 NA NA NA NA
## 194 NA NA NA NA
## 195 NA NA NA NA
## 196 NA NA NA NA
## 197 NA NA NA NA
## 198 NA NA NA NA
## 199 NA NA NA NA
## 200 NA NA NA NA
## 201 NA NA NA NA
## 202 NA NA NA NA
## 203 NA NA NA NA
## 204 NA NA NA NA
## 205 NA NA NA NA
## 206 NA NA NA NA
## 207 NA NA NA NA
## 208 NA NA NA NA
## 209 NA NA NA NA
## 210 NA NA NA NA
## 211 NA NA NA NA
## 212 NA 543 NA NA
## 213 NA 383 NA NA
## 214 NA NA NA NA
## 215 NA NA NA NA
## 216 NA NA NA NA
## 217 NA NA NA NA
## 218 NA NA NA NA
## 219 NA NA NA NA
## 220 NA NA NA NA
## 221 NA NA NA NA
## 222 NA NA NA NA
## 223 NA NA NA NA
## 224 NA NA NA NA
## 225 NA NA NA NA
## 226 NA NA NA NA
## 227 NA NA NA NA
## 228 NA NA NA NA
## 229 NA NA NA NA
## 230 NA NA NA NA
## 231 NA NA NA NA
## 232 NA NA NA NA
## 233 NA NA NA NA
## 234 NA NA NA NA
## 235 NA NA NA NA
## 236 NA NA NA NA
## 237 NA NA NA NA
## 238 NA NA NA NA
## 239 NA NA NA NA
## 240 NA NA NA NA
## 241 NA NA NA NA
## 242 NA NA NA NA
## 243 NA NA NA NA
## 244 NA NA NA NA
## 245 NA NA NA NA
## 246 NA NA NA NA
## 247 NA NA NA NA
## 248 NA NA NA NA
## 249 NA NA NA NA
## 250 NA NA NA NA
## 251 NA NA NA NA
## 252 NA NA NA NA
## 253 NA NA NA NA
## 254 NA NA NA NA
## 255 NA NA NA NA
## 256 NA NA NA NA
## 257 NA NA NA NA
## 258 NA NA NA NA
## 259 NA NA NA NA
## 260 NA NA NA NA
## 261 NA NA NA NA
## 262 NA NA NA NA
## 263 NA NA NA NA
## 264 NA NA NA NA
## 265 NA NA NA NA
## 266 NA NA NA NA
## 267 NA NA NA NA
## 268 NA NA NA NA
## 269 NA NA NA NA
## 270 NA NA NA NA
## 271 NA NA NA NA
## 272 NA NA NA NA
## 273 NA NA NA NA
## 274 NA NA NA NA
## 275 NA NA NA NA
## 276 NA NA NA NA
## 277 NA NA NA NA
## 278 NA NA NA NA
## 279 NA NA NA NA
## 280 NA NA NA NA
## 281 NA NA NA NA
## 282 NA NA NA NA
## 283 NA NA NA NA
## 284 NA NA NA NA
## 285 NA NA NA NA
## 286 NA NA NA NA
## 287 NA NA NA NA
## 288 NA NA NA NA
## 289 NA NA NA NA
## 290 NA NA NA NA
## 291 139 NA NA NA
## 292 390 NA NA NA
## 293 195 854 NA NA
## 294 320 NA 561 NA
## 295 242 NA 461 NA
## 296 NA NA NA NA
## 297 NA NA NA NA
## 298 52 NA NA 148
## 299 249 NA NA 952
## 300 78 NA 155 831
## CommunityArea.24 CommunityArea.25 CommunityArea.26 CommunityArea.27
## 1 NA NA NA NA
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## 7 NA NA NA NA
## 8 NA NA NA NA
## 9 NA NA NA NA
## 10 NA NA NA NA
## 11 NA NA NA NA
## 12 NA NA NA NA
## 13 NA NA NA NA
## 14 NA NA NA NA
## 15 NA NA NA NA
## 16 NA NA NA NA
## 17 NA NA NA NA
## 18 NA NA NA NA
## 19 NA NA NA NA
## 20 NA NA NA NA
## 21 NA NA NA NA
## 22 NA NA NA NA
## 23 NA NA NA NA
## 24 NA NA NA NA
## 25 NA NA NA NA
## 26 NA NA NA NA
## 27 NA NA NA NA
## 28 NA NA NA NA
## 29 NA NA NA NA
## 30 NA NA NA NA
## 31 NA NA NA NA
## 32 NA NA NA NA
## 33 NA NA NA NA
## 34 NA NA NA NA
## 35 NA NA NA NA
## 36 NA NA NA NA
## 37 NA NA NA NA
## 38 NA NA NA NA
## 39 NA NA NA NA
## 40 NA NA NA NA
## 41 NA NA NA NA
## 42 NA NA NA NA
## 43 NA NA NA NA
## 44 NA NA NA NA
## 45 NA NA NA NA
## 46 NA NA NA NA
## 47 NA NA NA NA
## 48 NA NA NA NA
## 49 NA NA NA NA
## 50 NA NA NA NA
## 51 NA NA NA NA
## 52 NA NA NA NA
## 53 NA NA NA NA
## 54 NA NA NA NA
## 55 NA NA NA NA
## 56 NA NA NA NA
## 57 NA NA NA NA
## 58 NA NA NA NA
## 59 NA NA NA NA
## 60 NA NA NA NA
## 61 NA NA NA NA
## 62 NA NA NA NA
## 63 NA NA NA NA
## 64 NA NA NA NA
## 65 NA NA NA NA
## 66 NA NA NA NA
## 67 NA NA NA NA
## 68 NA NA NA NA
## 69 NA NA NA NA
## 70 NA NA NA NA
## 71 NA NA NA NA
## 72 NA NA NA NA
## 73 NA NA NA NA
## 74 NA NA NA NA
## 75 NA NA NA NA
## 76 NA NA NA NA
## 77 NA NA NA NA
## 78 NA NA NA NA
## 79 NA NA NA NA
## 80 NA NA NA NA
## 81 NA NA NA NA
## 82 NA NA NA NA
## 83 NA NA NA NA
## 84 NA NA NA NA
## 85 NA NA NA NA
## 86 NA NA NA NA
## 87 NA NA NA NA
## 88 1 NA NA NA
## 89 NA NA NA NA
## 90 NA NA NA NA
## 91 NA NA NA NA
## 92 NA NA NA NA
## 93 NA NA NA NA
## 94 NA NA NA NA
## 95 NA NA NA NA
## 96 NA NA NA NA
## 97 NA NA NA NA
## 98 NA NA NA NA
## 99 NA NA NA NA
## 100 NA NA NA NA
## 101 NA NA NA NA
## 102 NA NA NA NA
## 103 NA NA NA NA
## 104 NA NA NA NA
## 105 NA NA NA NA
## 106 NA NA NA NA
## 107 NA NA NA NA
## 108 NA NA NA NA
## 109 NA NA NA NA
## 110 NA NA NA NA
## 111 NA NA NA NA
## 112 NA NA NA NA
## 113 NA NA NA NA
## 114 NA NA NA NA
## 115 NA NA NA NA
## 116 NA NA NA NA
## 117 NA NA NA NA
## 118 NA NA NA NA
## 119 NA NA NA NA
## 120 NA NA NA NA
## 121 NA NA NA NA
## 122 NA NA NA NA
## 123 NA NA NA NA
## 124 NA NA NA NA
## 125 NA NA NA NA
## 126 NA NA NA NA
## 127 NA NA NA NA
## 128 NA NA NA NA
## 129 NA NA NA NA
## 130 NA NA NA NA
## 131 NA 131 NA NA
## 132 NA NA NA NA
## 133 NA 307 333 NA
## 134 NA NA 333 NA
## 135 NA NA 372 NA
## 136 NA NA NA NA
## 137 NA NA 393 37
## 138 NA NA NA 515
## 139 NA NA NA 446
## 140 NA NA NA 121
## 141 NA 219 264 NA
## 142 NA NA 501 NA
## 143 NA NA 193 405
## 144 NA NA NA 388
## 145 NA NA NA 262
## 146 5 NA NA NA
## 147 3 NA NA NA
## 148 10 NA NA NA
## 149 5 NA NA NA
## 150 5 NA NA NA
## 151 4 NA NA NA
## 152 NA NA NA 1
## 153 NA NA NA NA
## 154 NA NA NA NA
## 155 NA NA NA NA
## 156 NA NA NA NA
## 157 NA NA NA NA
## 158 NA NA NA NA
## 159 NA NA NA NA
## 160 NA NA NA NA
## 161 442 NA NA NA
## 162 555 NA NA NA
## 163 458 NA NA NA
## 164 292 NA NA NA
## 165 775 NA NA NA
## 166 540 NA NA NA
## 167 NA NA NA 540
## 168 3 NA NA NA
## 169 1 NA NA NA
## 170 NA NA NA NA
## 171 NA NA NA NA
## 172 NA NA NA NA
## 173 NA NA NA NA
## 174 187 NA NA NA
## 175 NA NA NA NA
## 176 423 NA NA NA
## 177 762 NA NA NA
## 178 NA NA NA NA
## 179 NA NA NA NA
## 180 808 NA NA NA
## 181 501 NA NA NA
## 182 NA 577 NA NA
## 183 NA 500 NA NA
## 184 NA 420 NA NA
## 185 NA 687 NA NA
## 186 NA 553 NA NA
## 187 NA 553 NA NA
## 188 NA 618 NA NA
## 189 NA 614 NA NA
## 190 NA 910 NA NA
## 191 NA NA NA NA
## 192 NA NA NA NA
## 193 NA NA NA NA
## 194 NA NA NA NA
## 195 NA NA NA NA
## 196 NA NA NA NA
## 197 NA NA NA NA
## 198 NA NA NA NA
## 199 NA NA NA NA
## 200 NA NA NA NA
## 201 NA NA NA NA
## 202 NA NA NA NA
## 203 NA NA NA NA
## 204 NA NA NA NA
## 205 NA NA NA NA
## 206 NA NA NA NA
## 207 NA NA NA NA
## 208 NA NA NA NA
## 209 NA NA NA NA
## 210 NA NA NA NA
## 211 NA NA NA NA
## 212 NA NA NA NA
## 213 NA NA NA NA
## 214 NA NA NA NA
## 215 NA NA NA NA
## 216 NA NA NA NA
## 217 NA NA NA NA
## 218 NA NA NA NA
## 219 NA NA NA NA
## 220 NA NA NA NA
## 221 NA NA NA NA
## 222 NA NA NA NA
## 223 NA NA NA NA
## 224 NA NA NA NA
## 225 NA NA NA NA
## 226 NA NA NA NA
## 227 NA NA NA NA
## 228 NA NA NA NA
## 229 NA NA NA NA
## 230 NA NA NA NA
## 231 NA NA NA NA
## 232 NA NA NA NA
## 233 NA NA NA NA
## 234 NA NA NA NA
## 235 NA NA NA NA
## 236 NA NA NA NA
## 237 NA NA NA NA
## 238 NA NA NA NA
## 239 NA NA NA NA
## 240 NA NA NA NA
## 241 NA NA NA NA
## 242 NA NA NA NA
## 243 NA NA NA NA
## 244 NA NA NA NA
## 245 NA NA NA NA
## 246 NA NA NA NA
## 247 NA NA NA NA
## 248 NA NA NA NA
## 249 NA NA NA NA
## 250 NA NA NA NA
## 251 NA NA NA NA
## 252 NA NA NA NA
## 253 NA NA NA NA
## 254 NA NA NA NA
## 255 NA NA NA NA
## 256 NA NA NA NA
## 257 NA NA NA NA
## 258 NA NA NA NA
## 259 NA NA NA NA
## 260 NA NA NA NA
## 261 NA NA NA NA
## 262 NA NA NA NA
## 263 NA NA NA NA
## 264 NA NA NA NA
## 265 NA NA NA NA
## 266 NA NA NA NA
## 267 NA NA NA NA
## 268 NA NA NA NA
## 269 NA NA NA NA
## 270 NA NA NA NA
## 271 NA NA NA NA
## 272 NA NA NA NA
## 273 NA NA NA NA
## 274 NA NA NA NA
## 275 NA NA NA NA
## 276 NA NA NA NA
## 277 NA NA NA NA
## 278 NA NA NA NA
## 279 NA NA NA NA
## 280 NA NA NA NA
## 281 NA NA NA NA
## 282 NA NA NA NA
## 283 NA NA NA NA
## 284 NA NA NA NA
## 285 NA NA NA NA
## 286 NA 1 NA NA
## 287 NA 103 NA NA
## 288 NA 416 NA NA
## 289 NA NA NA NA
## 290 NA NA NA NA
## 291 NA NA NA NA
## 292 NA NA NA NA
## 293 NA NA NA NA
## 294 NA NA NA NA
## 295 NA NA NA NA
## 296 NA 616 NA NA
## 297 NA 787 NA NA
## 298 NA 758 NA NA
## 299 NA NA NA NA
## 300 NA NA NA NA
## CommunityArea.28 CommunityArea.29 CommunityArea.30 CommunityArea.31
## 1 217 NA NA NA
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 12 NA NA NA
## 6 NA NA NA NA
## 7 NA NA NA NA
## 8 11 NA NA NA
## 9 NA NA NA NA
## 10 334 NA NA NA
## 11 NA NA NA NA
## 12 1 NA NA NA
## 13 NA NA NA NA
## 14 NA NA NA NA
## 15 NA NA NA NA
## 16 NA NA NA NA
## 17 NA NA NA NA
## 18 NA NA NA NA
## 19 NA NA NA NA
## 20 NA NA NA NA
## 21 NA NA NA NA
## 22 NA NA NA NA
## 23 NA NA NA NA
## 24 NA NA NA NA
## 25 NA NA NA NA
## 26 NA NA NA NA
## 27 NA NA NA NA
## 28 NA NA NA NA
## 29 NA NA NA NA
## 30 NA NA NA NA
## 31 NA NA NA NA
## 32 NA NA NA NA
## 33 NA NA NA NA
## 34 NA NA NA NA
## 35 NA NA NA NA
## 36 NA NA NA NA
## 37 NA NA NA NA
## 38 NA NA NA NA
## 39 NA NA NA NA
## 40 NA NA NA NA
## 41 NA NA NA NA
## 42 NA NA NA NA
## 43 NA NA NA NA
## 44 NA NA NA NA
## 45 NA NA NA NA
## 46 NA NA NA NA
## 47 NA NA NA NA
## 48 NA NA NA NA
## 49 NA NA NA NA
## 50 NA NA NA NA
## 51 NA NA NA NA
## 52 NA NA NA NA
## 53 NA NA NA NA
## 54 NA NA NA NA
## 55 NA NA NA NA
## 56 NA NA NA NA
## 57 NA NA NA NA
## 58 NA NA NA NA
## 59 NA NA NA NA
## 60 NA NA NA NA
## 61 NA NA NA NA
## 62 NA NA NA NA
## 63 NA NA NA NA
## 64 NA NA NA NA
## 65 NA NA NA NA
## 66 NA NA NA NA
## 67 NA NA NA NA
## 68 NA NA NA NA
## 69 NA NA NA NA
## 70 NA NA NA NA
## 71 NA NA NA NA
## 72 NA NA NA NA
## 73 NA NA NA NA
## 74 NA NA NA NA
## 75 NA NA NA NA
## 76 NA NA NA NA
## 77 NA NA NA NA
## 78 NA NA NA NA
## 79 NA NA NA NA
## 80 NA NA NA NA
## 81 NA NA NA NA
## 82 NA NA NA NA
## 83 NA NA NA NA
## 84 NA NA NA NA
## 85 NA NA NA NA
## 86 NA NA NA NA
## 87 NA NA NA NA
## 88 NA NA NA NA
## 89 NA NA NA NA
## 90 NA NA NA NA
## 91 NA NA NA NA
## 92 NA NA NA NA
## 93 NA NA NA NA
## 94 NA NA 1 NA
## 95 NA NA NA NA
## 96 NA NA NA NA
## 97 NA NA NA NA
## 98 NA NA NA NA
## 99 NA NA NA NA
## 100 NA NA NA NA
## 101 NA NA NA NA
## 102 NA NA NA NA
## 103 NA NA NA NA
## 104 NA NA 2 NA
## 105 NA NA NA NA
## 106 NA NA 10 4
## 107 NA NA NA NA
## 108 NA NA NA NA
## 109 NA NA NA NA
## 110 NA NA NA 15
## 111 NA NA NA 1
## 112 NA NA NA NA
## 113 NA NA NA NA
## 114 NA NA NA NA
## 115 NA NA NA NA
## 116 NA NA NA NA
## 117 NA NA NA NA
## 118 NA NA NA NA
## 119 NA 636 NA NA
## 120 NA 445 NA NA
## 121 NA 192 490 NA
## 122 NA 475 NA NA
## 123 NA 468 NA NA
## 124 NA 426 138 NA
## 125 39 206 160 39
## 126 NA 124 482 NA
## 127 NA NA 805 NA
## 128 NA NA 584 NA
## 129 NA NA 651 NA
## 130 NA NA 268 436
## 131 NA NA NA NA
## 132 NA NA NA NA
## 133 NA NA NA NA
## 134 NA NA NA NA
## 135 NA NA NA NA
## 136 NA NA NA NA
## 137 NA NA NA NA
## 138 NA NA NA NA
## 139 NA NA NA NA
## 140 71 NA NA NA
## 141 NA 35 NA NA
## 142 NA 103 NA NA
## 143 NA 204 NA NA
## 144 NA 133 NA NA
## 145 242 81 NA NA
## 146 882 NA NA NA
## 147 651 NA NA NA
## 148 488 NA NA NA
## 149 2 NA NA NA
## 150 4 NA NA NA
## 151 NA NA NA NA
## 152 39 NA NA 378
## 153 7 NA NA 435
## 154 600 NA NA NA
## 155 8 NA NA NA
## 156 222 NA NA NA
## 157 241 NA NA NA
## 158 1 NA NA 550
## 159 NA NA NA 9
## 160 NA NA NA 20
## 161 NA NA NA NA
## 162 NA NA NA NA
## 163 NA NA NA NA
## 164 NA NA NA NA
## 165 NA NA NA NA
## 166 NA NA NA NA
## 167 10 NA NA NA
## 168 327 NA NA NA
## 169 355 NA NA NA
## 170 NA NA NA NA
## 171 NA NA NA NA
## 172 NA NA NA NA
## 173 NA NA NA NA
## 174 NA NA NA NA
## 175 NA NA NA NA
## 176 NA NA NA NA
## 177 NA NA NA NA
## 178 NA NA NA NA
## 179 NA NA NA NA
## 180 NA NA NA NA
## 181 NA NA NA NA
## 182 NA NA NA NA
## 183 NA NA NA NA
## 184 NA NA NA NA
## 185 NA NA NA NA
## 186 NA NA NA NA
## 187 NA NA NA NA
## 188 NA NA NA NA
## 189 NA NA NA NA
## 190 NA NA NA NA
## 191 NA NA NA NA
## 192 NA NA NA NA
## 193 NA NA NA NA
## 194 NA NA NA NA
## 195 NA NA NA NA
## 196 NA NA NA NA
## 197 NA NA NA NA
## 198 NA NA NA NA
## 199 NA NA NA NA
## 200 NA NA NA NA
## 201 NA NA NA NA
## 202 NA NA NA NA
## 203 NA NA NA NA
## 204 NA NA NA NA
## 205 NA NA NA NA
## 206 NA NA NA NA
## 207 NA NA NA NA
## 208 NA NA NA NA
## 209 NA NA NA NA
## 210 NA NA NA NA
## 211 NA NA NA NA
## 212 NA NA NA NA
## 213 NA NA NA NA
## 214 NA NA NA NA
## 215 NA NA NA NA
## 216 NA NA NA NA
## 217 NA NA NA NA
## 218 NA NA NA NA
## 219 NA NA NA NA
## 220 NA NA NA NA
## 221 NA NA NA NA
## 222 NA NA NA NA
## 223 NA NA NA NA
## 224 NA NA NA NA
## 225 NA NA NA NA
## 226 NA NA NA NA
## 227 NA NA NA NA
## 228 NA NA NA NA
## 229 NA NA NA NA
## 230 NA NA NA NA
## 231 NA NA NA NA
## 232 NA NA NA NA
## 233 NA NA NA NA
## 234 NA NA NA NA
## 235 NA NA NA NA
## 236 NA NA NA NA
## 237 NA NA NA NA
## 238 NA NA NA NA
## 239 NA NA NA NA
## 240 NA NA NA NA
## 241 NA NA NA NA
## 242 NA NA NA NA
## 243 NA NA NA NA
## 244 NA NA NA NA
## 245 NA NA NA NA
## 246 NA NA NA NA
## 247 NA NA NA NA
## 248 NA NA NA NA
## 249 NA NA NA NA
## 250 NA NA NA NA
## 251 NA NA NA NA
## 252 NA NA NA NA
## 253 NA NA NA NA
## 254 NA NA NA NA
## 255 NA NA NA NA
## 256 NA NA NA NA
## 257 NA NA NA NA
## 258 NA NA NA NA
## 259 NA NA NA NA
## 260 NA NA NA NA
## 261 NA NA NA NA
## 262 NA NA NA NA
## 263 NA NA NA NA
## 264 NA NA NA NA
## 265 NA NA NA NA
## 266 NA NA NA NA
## 267 NA NA NA NA
## 268 NA NA NA NA
## 269 NA NA NA NA
## 270 NA NA NA NA
## 271 NA NA NA NA
## 272 NA NA NA NA
## 273 NA NA NA NA
## 274 NA NA NA NA
## 275 NA NA NA NA
## 276 NA NA NA NA
## 277 NA NA NA NA
## 278 NA NA NA NA
## 279 NA NA NA NA
## 280 NA NA NA NA
## 281 NA NA NA NA
## 282 NA NA NA NA
## 283 NA NA NA NA
## 284 NA NA NA NA
## 285 NA NA NA NA
## 286 NA NA NA NA
## 287 NA NA NA NA
## 288 NA NA NA NA
## 289 NA NA NA NA
## 290 NA NA NA NA
## 291 NA NA NA NA
## 292 NA NA NA NA
## 293 NA NA NA NA
## 294 NA NA NA NA
## 295 NA NA NA NA
## 296 NA NA NA NA
## 297 NA NA NA NA
## 298 NA NA NA NA
## 299 NA NA NA NA
## 300 NA NA NA NA
## CommunityArea.32 CommunityArea.33 CommunityArea.34 CommunityArea.35
## 1 25 NA NA NA
## 2 98 NA NA NA
## 3 114 NA NA NA
## 4 5 NA NA NA
## 5 NA NA NA NA
## 6 107 NA NA NA
## 7 96 NA NA NA
## 8 118 NA NA NA
## 9 1 NA NA NA
## 10 174 35 NA NA
## 11 298 237 NA NA
## 12 6 173 NA 39
## 13 NA 311 2 NA
## 14 NA NA 12 389
## 15 NA NA NA 228
## 16 NA NA NA 6
## 17 NA NA NA NA
## 18 NA NA NA NA
## 19 NA NA NA NA
## 20 NA NA NA NA
## 21 NA NA NA NA
## 22 NA NA NA NA
## 23 NA NA NA NA
## 24 NA NA NA NA
## 25 NA NA NA NA
## 26 NA NA NA NA
## 27 NA NA NA NA
## 28 NA NA NA NA
## 29 NA NA NA NA
## 30 NA NA NA NA
## 31 NA NA NA NA
## 32 NA NA NA NA
## 33 NA NA NA NA
## 34 NA NA NA NA
## 35 NA NA NA NA
## 36 NA NA NA NA
## 37 NA NA NA NA
## 38 NA NA NA NA
## 39 NA NA NA NA
## 40 NA NA NA NA
## 41 NA NA NA NA
## 42 NA NA NA NA
## 43 NA NA NA NA
## 44 NA NA NA NA
## 45 NA NA NA NA
## 46 NA NA NA NA
## 47 NA NA NA NA
## 48 NA NA NA NA
## 49 NA NA NA NA
## 50 NA NA NA NA
## 51 NA NA NA NA
## 52 NA NA NA NA
## 53 NA NA NA NA
## 54 NA NA NA NA
## 55 NA NA NA NA
## 56 NA NA NA NA
## 57 NA NA NA NA
## 58 NA NA NA NA
## 59 NA NA NA NA
## 60 NA NA NA NA
## 61 NA NA NA NA
## 62 NA NA NA NA
## 63 NA NA NA NA
## 64 NA NA NA NA
## 65 NA NA NA NA
## 66 NA NA NA NA
## 67 NA NA NA NA
## 68 NA NA NA NA
## 69 NA NA NA NA
## 70 NA NA NA NA
## 71 NA NA NA NA
## 72 NA NA NA NA
## 73 NA NA NA NA
## 74 NA NA NA NA
## 75 NA NA NA NA
## 76 NA NA NA NA
## 77 NA NA NA NA
## 78 NA NA NA NA
## 79 NA NA NA NA
## 80 NA NA NA NA
## 81 NA NA NA NA
## 82 NA NA NA NA
## 83 NA NA NA NA
## 84 NA NA NA NA
## 85 NA NA NA NA
## 86 NA NA NA NA
## 87 NA NA NA NA
## 88 NA NA NA NA
## 89 NA NA NA NA
## 90 NA NA NA NA
## 91 NA NA NA NA
## 92 NA NA NA NA
## 93 NA NA NA NA
## 94 NA NA NA NA
## 95 NA NA NA NA
## 96 NA NA NA NA
## 97 NA NA NA NA
## 98 NA NA NA NA
## 99 NA NA NA NA
## 100 NA NA NA NA
## 101 NA NA NA NA
## 102 NA NA NA NA
## 103 NA NA NA NA
## 104 NA NA NA NA
## 105 NA NA NA NA
## 106 NA NA NA NA
## 107 NA NA 60 NA
## 108 NA NA 22 NA
## 109 NA NA NA NA
## 110 NA NA NA NA
## 111 NA NA 67 NA
## 112 NA NA 139 NA
## 113 NA NA 77 NA
## 114 NA NA NA NA
## 115 NA NA NA NA
## 116 NA NA NA NA
## 117 NA NA NA NA
## 118 NA NA NA NA
## 119 NA NA NA NA
## 120 NA NA NA NA
## 121 NA NA NA NA
## 122 NA NA NA NA
## 123 NA NA NA NA
## 124 NA NA NA NA
## 125 NA NA NA NA
## 126 NA NA NA NA
## 127 NA NA NA NA
## 128 NA NA NA NA
## 129 NA NA NA NA
## 130 NA NA NA NA
## 131 NA NA NA NA
## 132 NA NA NA NA
## 133 NA NA NA NA
## 134 NA NA NA NA
## 135 NA NA NA NA
## 136 NA NA NA NA
## 137 NA NA NA NA
## 138 NA NA NA NA
## 139 NA NA NA NA
## 140 NA NA NA NA
## 141 NA NA NA NA
## 142 NA NA NA NA
## 143 NA NA NA NA
## 144 NA NA NA NA
## 145 NA NA NA NA
## 146 NA NA NA NA
## 147 NA NA NA NA
## 148 NA NA NA NA
## 149 NA NA NA NA
## 150 NA NA NA NA
## 151 NA NA NA NA
## 152 NA NA NA NA
## 153 NA NA NA NA
## 154 NA NA NA NA
## 155 NA NA NA NA
## 156 NA NA NA NA
## 157 NA NA NA NA
## 158 NA NA NA NA
## 159 NA NA NA NA
## 160 NA NA NA NA
## 161 NA NA NA NA
## 162 NA NA NA NA
## 163 NA NA NA NA
## 164 NA NA NA NA
## 165 NA NA NA NA
## 166 NA NA NA NA
## 167 NA NA NA NA
## 168 NA NA NA NA
## 169 NA NA NA NA
## 170 NA NA NA NA
## 171 NA NA NA NA
## 172 NA NA NA NA
## 173 NA NA NA NA
## 174 NA NA NA NA
## 175 NA NA NA NA
## 176 NA NA NA NA
## 177 NA NA NA NA
## 178 NA NA NA NA
## 179 NA NA NA NA
## 180 NA NA NA NA
## 181 NA NA NA NA
## 182 NA NA NA NA
## 183 NA NA NA NA
## 184 NA NA NA NA
## 185 NA NA NA NA
## 186 NA NA NA NA
## 187 NA NA NA NA
## 188 NA NA NA NA
## 189 NA NA NA NA
## 190 NA NA NA NA
## 191 NA NA NA NA
## 192 NA NA NA NA
## 193 NA NA NA NA
## 194 NA NA NA NA
## 195 NA NA NA NA
## 196 NA NA NA NA
## 197 NA NA NA NA
## 198 NA NA NA NA
## 199 NA NA NA NA
## 200 NA NA NA NA
## 201 NA NA NA NA
## 202 NA NA NA NA
## 203 NA NA NA NA
## 204 NA NA NA NA
## 205 NA NA NA NA
## 206 NA NA NA NA
## 207 NA NA NA NA
## 208 NA NA NA NA
## 209 NA NA NA NA
## 210 NA NA NA NA
## 211 NA NA NA NA
## 212 NA NA NA NA
## 213 NA NA NA NA
## 214 NA NA NA NA
## 215 NA NA NA NA
## 216 NA NA NA NA
## 217 NA NA NA NA
## 218 NA NA NA NA
## 219 NA NA NA NA
## 220 NA NA NA NA
## 221 NA NA NA NA
## 222 6 NA NA NA
## 223 NA NA NA NA
## 224 NA NA NA NA
## 225 NA NA NA NA
## 226 NA NA NA NA
## 227 NA NA NA NA
## 228 NA NA NA NA
## 229 NA NA NA NA
## 230 NA NA NA NA
## 231 NA NA NA NA
## 232 NA NA NA NA
## 233 NA NA NA NA
## 234 NA NA NA NA
## 235 NA NA NA NA
## 236 NA NA NA NA
## 237 NA NA NA NA
## 238 NA NA NA NA
## 239 NA NA NA NA
## 240 NA NA NA NA
## 241 NA NA NA NA
## 242 NA NA NA NA
## 243 NA NA NA NA
## 244 NA NA NA NA
## 245 NA NA NA NA
## 246 NA NA NA NA
## 247 NA NA NA NA
## 248 NA NA NA NA
## 249 NA NA NA NA
## 250 NA 2 209 NA
## 251 NA 30 NA 375
## 252 NA 8 206 248
## 253 NA 5 NA 303
## 254 NA NA NA NA
## 255 NA NA NA NA
## 256 NA NA NA NA
## 257 NA NA NA NA
## 258 NA NA NA NA
## 259 NA NA NA NA
## 260 NA NA NA NA
## 261 NA NA NA NA
## 262 NA NA NA NA
## 263 NA NA NA NA
## 264 NA NA NA NA
## 265 NA NA NA NA
## 266 NA NA NA NA
## 267 NA NA NA NA
## 268 NA NA NA NA
## 269 NA NA NA NA
## 270 NA NA NA NA
## 271 NA NA NA NA
## 272 NA NA NA NA
## 273 NA NA NA NA
## 274 NA NA NA NA
## 275 NA NA NA NA
## 276 NA NA NA NA
## 277 NA NA NA NA
## 278 NA NA NA NA
## 279 NA NA NA NA
## 280 NA NA NA NA
## 281 NA NA NA NA
## 282 NA NA NA NA
## 283 NA NA NA NA
## 284 NA NA NA NA
## 285 NA NA NA NA
## 286 NA NA NA NA
## 287 NA NA NA NA
## 288 NA NA NA NA
## 289 NA NA NA NA
## 290 NA NA NA NA
## 291 NA NA NA NA
## 292 NA NA NA NA
## 293 NA NA NA NA
## 294 NA NA NA NA
## 295 NA NA NA NA
## 296 NA NA NA NA
## 297 NA NA NA NA
## 298 NA NA NA NA
## 299 NA NA NA NA
## 300 NA NA NA NA
## CommunityArea.36 CommunityArea.37 CommunityArea.38 CommunityArea.39
## 1 NA NA NA NA
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## 7 NA NA NA NA
## 8 NA NA NA NA
## 9 NA NA NA NA
## 10 NA NA NA NA
## 11 NA NA NA NA
## 12 NA NA NA NA
## 13 NA NA NA NA
## 14 NA NA NA NA
## 15 39 NA NA NA
## 16 NA 1 462 NA
## 17 5 4 325 NA
## 18 NA 2 19 NA
## 19 NA 13 346 14
## 20 NA NA 395 40
## 21 NA NA 566 12
## 22 NA 6 332 NA
## 23 NA 2 NA NA
## 24 NA 26 147 NA
## 25 NA 39 NA NA
## 26 NA NA NA NA
## 27 NA NA NA NA
## 28 NA NA NA NA
## 29 NA NA NA NA
## 30 NA NA NA NA
## 31 NA NA NA NA
## 32 NA NA NA NA
## 33 NA NA NA NA
## 34 NA NA NA NA
## 35 NA NA NA NA
## 36 NA NA NA NA
## 37 NA NA NA NA
## 38 NA NA NA NA
## 39 NA NA NA NA
## 40 NA NA NA NA
## 41 NA NA NA NA
## 42 NA NA NA NA
## 43 NA NA NA NA
## 44 NA NA NA NA
## 45 NA NA NA NA
## 46 NA NA NA NA
## 47 NA NA NA NA
## 48 NA NA NA NA
## 49 NA NA NA NA
## 50 NA NA NA NA
## 51 NA NA NA NA
## 52 NA NA NA NA
## 53 NA NA NA NA
## 54 NA NA NA NA
## 55 NA NA NA NA
## 56 NA NA NA NA
## 57 NA NA NA NA
## 58 NA NA NA NA
## 59 NA NA NA NA
## 60 NA NA NA NA
## 61 NA NA NA NA
## 62 NA NA NA NA
## 63 NA NA NA NA
## 64 NA NA NA NA
## 65 NA NA NA NA
## 66 NA NA NA NA
## 67 NA NA NA NA
## 68 NA NA NA NA
## 69 NA NA NA NA
## 70 NA NA NA NA
## 71 NA NA NA NA
## 72 NA NA NA NA
## 73 NA NA NA NA
## 74 NA NA NA NA
## 75 NA NA NA NA
## 76 NA NA NA NA
## 77 NA NA NA NA
## 78 NA NA NA NA
## 79 NA NA NA NA
## 80 NA NA NA NA
## 81 NA NA NA NA
## 82 NA NA NA NA
## 83 NA NA NA NA
## 84 NA NA NA NA
## 85 NA NA NA NA
## 86 NA NA NA NA
## 87 NA NA NA NA
## 88 NA NA NA NA
## 89 NA NA NA NA
## 90 NA NA NA NA
## 91 NA NA NA NA
## 92 NA NA NA NA
## 93 NA NA NA NA
## 94 NA NA NA NA
## 95 NA NA NA NA
## 96 NA NA NA NA
## 97 NA NA NA NA
## 98 NA NA NA NA
## 99 NA NA NA NA
## 100 NA NA NA NA
## 101 NA NA NA NA
## 102 NA NA NA NA
## 103 NA NA NA NA
## 104 NA NA NA NA
## 105 NA NA NA NA
## 106 NA NA NA NA
## 107 NA NA NA NA
## 108 NA NA NA NA
## 109 NA NA NA NA
## 110 NA NA NA NA
## 111 NA NA NA NA
## 112 NA NA NA NA
## 113 NA 64 NA NA
## 114 NA NA NA NA
## 115 NA NA NA NA
## 116 NA NA NA NA
## 117 NA 117 NA NA
## 118 NA 330 NA NA
## 119 NA NA NA NA
## 120 NA NA NA NA
## 121 NA NA NA NA
## 122 NA NA NA NA
## 123 NA NA NA NA
## 124 NA NA NA NA
## 125 NA NA NA NA
## 126 NA NA NA NA
## 127 NA NA NA NA
## 128 NA NA NA NA
## 129 NA NA NA NA
## 130 NA NA NA NA
## 131 NA NA NA NA
## 132 NA NA NA NA
## 133 NA NA NA NA
## 134 NA NA NA NA
## 135 NA NA NA NA
## 136 NA NA NA NA
## 137 NA NA NA NA
## 138 NA NA NA NA
## 139 NA NA NA NA
## 140 NA NA NA NA
## 141 NA NA NA NA
## 142 NA NA NA NA
## 143 NA NA NA NA
## 144 NA NA NA NA
## 145 NA NA NA NA
## 146 NA NA NA NA
## 147 NA NA NA NA
## 148 NA NA NA NA
## 149 NA NA NA NA
## 150 NA NA NA NA
## 151 NA NA NA NA
## 152 NA NA NA NA
## 153 NA NA NA NA
## 154 NA NA NA NA
## 155 NA NA NA NA
## 156 NA NA NA NA
## 157 NA NA NA NA
## 158 NA NA NA NA
## 159 NA NA NA NA
## 160 NA NA NA NA
## 161 NA NA NA NA
## 162 NA NA NA NA
## 163 NA NA NA NA
## 164 NA NA NA NA
## 165 NA NA NA NA
## 166 NA NA NA NA
## 167 NA NA NA NA
## 168 NA NA NA NA
## 169 NA NA NA NA
## 170 NA NA NA NA
## 171 NA NA NA NA
## 172 NA NA NA NA
## 173 NA NA NA NA
## 174 NA NA NA NA
## 175 NA NA NA NA
## 176 NA NA NA NA
## 177 NA NA NA NA
## 178 NA NA NA NA
## 179 NA NA NA NA
## 180 NA NA NA NA
## 181 NA NA NA NA
## 182 NA NA NA NA
## 183 NA NA NA NA
## 184 NA NA NA NA
## 185 NA NA NA NA
## 186 NA NA NA NA
## 187 NA NA NA NA
## 188 NA NA NA NA
## 189 NA NA NA NA
## 190 NA NA NA NA
## 191 NA NA NA NA
## 192 NA NA NA NA
## 193 NA NA NA NA
## 194 NA NA NA NA
## 195 NA NA NA NA
## 196 NA NA NA NA
## 197 NA NA NA NA
## 198 NA NA NA NA
## 199 NA NA NA NA
## 200 NA NA NA NA
## 201 NA NA NA NA
## 202 NA NA NA NA
## 203 NA NA NA NA
## 204 NA NA NA NA
## 205 NA NA NA NA
## 206 NA NA NA NA
## 207 NA NA NA NA
## 208 NA NA NA NA
## 209 NA NA NA NA
## 210 NA NA NA NA
## 211 NA NA NA NA
## 212 NA NA NA NA
## 213 NA NA NA NA
## 214 NA NA NA NA
## 215 NA NA NA NA
## 216 NA NA NA NA
## 217 NA NA NA NA
## 218 NA NA NA NA
## 219 NA NA NA NA
## 220 NA NA NA NA
## 221 NA NA NA NA
## 222 NA NA NA NA
## 223 NA NA NA NA
## 224 NA NA NA NA
## 225 NA NA NA NA
## 226 NA NA NA NA
## 227 NA NA NA NA
## 228 NA NA NA NA
## 229 NA NA NA NA
## 230 NA NA NA NA
## 231 NA NA NA NA
## 232 NA NA NA NA
## 233 NA NA NA NA
## 234 NA NA NA NA
## 235 NA NA NA NA
## 236 NA NA NA NA
## 237 NA NA NA NA
## 238 NA NA NA NA
## 239 NA NA NA NA
## 240 NA NA NA NA
## 241 NA NA NA NA
## 242 NA NA NA NA
## 243 NA NA NA NA
## 244 NA NA NA NA
## 245 NA NA NA NA
## 246 NA NA NA NA
## 247 NA NA NA NA
## 248 NA NA NA NA
## 249 NA NA NA NA
## 250 NA NA NA NA
## 251 NA NA NA NA
## 252 NA NA NA NA
## 253 201 NA NA NA
## 254 139 NA NA 379
## 255 NA NA NA 417
## 256 NA NA NA NA
## 257 NA NA NA 192
## 258 NA NA NA NA
## 259 NA NA NA NA
## 260 NA NA NA NA
## 261 NA NA NA NA
## 262 NA NA NA NA
## 263 NA NA NA NA
## 264 NA NA NA NA
## 265 NA NA NA NA
## 266 NA NA NA NA
## 267 NA NA NA NA
## 268 NA NA NA NA
## 269 NA NA NA NA
## 270 NA NA NA NA
## 271 NA NA NA NA
## 272 NA NA NA NA
## 273 NA NA NA NA
## 274 NA NA NA NA
## 275 NA NA NA NA
## 276 NA NA NA NA
## 277 NA NA NA NA
## 278 NA NA NA NA
## 279 NA NA NA NA
## 280 NA NA NA NA
## 281 NA NA NA NA
## 282 NA NA NA NA
## 283 NA NA NA NA
## 284 NA NA NA NA
## 285 NA NA NA NA
## 286 NA NA NA NA
## 287 NA NA NA NA
## 288 NA NA NA NA
## 289 NA NA NA NA
## 290 NA NA NA NA
## 291 NA NA NA NA
## 292 NA NA NA NA
## 293 NA NA NA NA
## 294 NA NA NA NA
## 295 NA NA NA NA
## 296 NA NA NA NA
## 297 NA NA NA NA
## 298 NA NA NA NA
## 299 NA NA NA NA
## 300 NA NA NA NA
## CommunityArea.40 CommunityArea.41 CommunityArea.42 CommunityArea.43
## 1 NA NA NA NA
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## 7 NA NA NA NA
## 8 NA NA NA NA
## 9 NA NA NA NA
## 10 NA NA NA NA
## 11 NA NA NA NA
## 12 NA NA NA NA
## 13 NA NA NA NA
## 14 NA NA NA NA
## 15 NA NA NA NA
## 16 NA NA NA NA
## 17 NA NA NA NA
## 18 NA NA NA NA
## 19 NA NA NA NA
## 20 NA NA NA NA
## 21 NA NA NA NA
## 22 NA NA NA NA
## 23 24 NA NA NA
## 24 33 NA NA NA
## 25 432 NA NA NA
## 26 578 13 NA NA
## 27 603 20 NA NA
## 28 NA 31 3 NA
## 29 337 NA NA NA
## 30 NA NA 345 NA
## 31 NA NA 424 NA
## 32 NA 1 459 NA
## 33 NA NA 585 29
## 34 NA NA NA 1
## 35 NA NA NA NA
## 36 NA NA NA 536
## 37 NA 28 48 664
## 38 NA NA NA 554
## 39 NA NA NA 387
## 40 NA NA NA 510
## 41 NA NA NA 224
## 42 NA NA NA NA
## 43 NA NA NA NA
## 44 NA NA NA 558
## 45 NA NA NA 920
## 46 NA NA NA NA
## 47 NA NA NA NA
## 48 NA NA NA NA
## 49 NA NA NA NA
## 50 NA NA NA NA
## 51 NA NA NA NA
## 52 NA NA NA NA
## 53 NA NA NA NA
## 54 NA NA NA NA
## 55 NA NA NA NA
## 56 NA NA NA NA
## 57 NA NA NA NA
## 58 NA NA NA NA
## 59 NA NA NA NA
## 60 NA NA NA NA
## 61 NA NA NA NA
## 62 NA NA NA NA
## 63 NA NA NA NA
## 64 NA NA NA NA
## 65 NA NA NA NA
## 66 NA NA NA NA
## 67 NA NA NA NA
## 68 NA NA NA NA
## 69 NA NA NA NA
## 70 NA NA NA NA
## 71 NA NA NA NA
## 72 NA NA NA NA
## 73 NA NA NA NA
## 74 NA NA NA NA
## 75 NA NA NA NA
## 76 NA NA NA NA
## 77 NA NA NA NA
## 78 NA NA NA NA
## 79 NA NA NA NA
## 80 NA NA NA NA
## 81 NA NA NA NA
## 82 NA NA NA NA
## 83 NA NA NA NA
## 84 NA NA NA NA
## 85 NA NA NA NA
## 86 NA NA NA NA
## 87 NA NA NA NA
## 88 NA NA NA NA
## 89 NA NA NA NA
## 90 NA NA NA NA
## 91 NA NA NA NA
## 92 NA NA NA NA
## 93 NA NA NA NA
## 94 NA NA NA NA
## 95 NA NA NA NA
## 96 NA NA NA NA
## 97 NA NA NA NA
## 98 NA NA NA NA
## 99 NA NA NA NA
## 100 NA NA NA 1
## 101 NA NA NA NA
## 102 NA NA NA NA
## 103 NA NA NA NA
## 104 NA NA NA NA
## 105 NA NA NA NA
## 106 NA NA NA NA
## 107 NA NA NA NA
## 108 NA NA NA NA
## 109 NA NA NA NA
## 110 NA NA NA NA
## 111 NA NA NA NA
## 112 NA NA NA NA
## 113 NA NA NA NA
## 114 NA NA NA NA
## 115 NA NA NA NA
## 116 NA NA NA NA
## 117 NA NA NA NA
## 118 NA NA NA NA
## 119 NA NA NA NA
## 120 NA NA NA NA
## 121 NA NA NA NA
## 122 NA NA NA NA
## 123 NA NA NA NA
## 124 NA NA NA NA
## 125 NA NA NA NA
## 126 NA NA NA NA
## 127 NA NA NA NA
## 128 NA NA NA NA
## 129 NA NA NA NA
## 130 NA NA NA NA
## 131 NA NA NA NA
## 132 NA NA NA NA
## 133 NA NA NA NA
## 134 NA NA NA NA
## 135 NA NA NA NA
## 136 NA NA NA NA
## 137 NA NA NA NA
## 138 NA NA NA NA
## 139 NA NA NA NA
## 140 NA NA NA NA
## 141 NA NA NA NA
## 142 NA NA NA NA
## 143 NA NA NA NA
## 144 NA NA NA NA
## 145 NA NA NA NA
## 146 NA NA NA NA
## 147 NA NA NA NA
## 148 NA NA NA NA
## 149 NA NA NA NA
## 150 NA NA NA NA
## 151 NA NA NA NA
## 152 NA NA NA NA
## 153 NA NA NA NA
## 154 NA NA NA NA
## 155 NA NA NA NA
## 156 NA NA NA NA
## 157 NA NA NA NA
## 158 NA NA NA NA
## 159 NA NA NA NA
## 160 NA NA NA NA
## 161 NA NA NA NA
## 162 NA NA NA NA
## 163 NA NA NA NA
## 164 NA NA NA NA
## 165 NA NA NA NA
## 166 NA NA NA NA
## 167 NA NA NA NA
## 168 NA NA NA NA
## 169 NA NA NA NA
## 170 NA NA NA NA
## 171 NA NA NA NA
## 172 NA NA NA NA
## 173 NA NA NA NA
## 174 NA NA NA NA
## 175 NA NA NA NA
## 176 NA NA NA NA
## 177 NA NA NA NA
## 178 NA NA NA NA
## 179 NA NA NA NA
## 180 NA NA NA NA
## 181 NA NA NA NA
## 182 NA NA NA NA
## 183 NA NA NA NA
## 184 NA NA NA NA
## 185 NA NA NA NA
## 186 NA NA NA NA
## 187 NA NA NA NA
## 188 NA NA NA NA
## 189 NA NA NA NA
## 190 NA NA NA NA
## 191 NA NA NA NA
## 192 NA NA NA NA
## 193 NA NA NA NA
## 194 NA NA NA NA
## 195 NA NA NA NA
## 196 NA NA NA NA
## 197 NA NA NA NA
## 198 NA NA NA NA
## 199 NA NA NA NA
## 200 NA NA NA NA
## 201 NA NA NA NA
## 202 NA NA NA NA
## 203 NA NA NA NA
## 204 NA NA NA NA
## 205 NA NA NA NA
## 206 NA NA NA NA
## 207 NA NA NA NA
## 208 NA NA NA NA
## 209 NA NA NA NA
## 210 NA NA NA NA
## 211 NA NA NA NA
## 212 NA NA NA NA
## 213 NA NA NA NA
## 214 NA NA NA NA
## 215 NA NA NA NA
## 216 NA NA NA NA
## 217 NA NA NA NA
## 218 NA NA NA NA
## 219 NA NA NA NA
## 220 NA NA NA NA
## 221 NA NA NA NA
## 222 NA NA NA NA
## 223 NA NA NA NA
## 224 NA NA NA NA
## 225 NA NA NA NA
## 226 NA NA NA NA
## 227 NA NA NA NA
## 228 NA NA NA NA
## 229 NA NA NA NA
## 230 NA NA NA NA
## 231 NA NA NA NA
## 232 NA NA NA NA
## 233 NA NA NA NA
## 234 NA NA NA NA
## 235 NA NA NA NA
## 236 NA NA NA NA
## 237 NA NA NA NA
## 238 NA NA NA NA
## 239 NA NA NA NA
## 240 NA NA NA NA
## 241 NA NA NA NA
## 242 NA NA NA NA
## 243 NA NA NA NA
## 244 NA NA NA NA
## 245 NA NA NA NA
## 246 NA NA NA NA
## 247 NA NA NA NA
## 248 NA NA NA NA
## 249 NA NA NA NA
## 250 NA NA NA NA
## 251 NA NA NA NA
## 252 NA NA NA NA
## 253 NA NA NA NA
## 254 NA NA NA NA
## 255 NA 131 NA NA
## 256 NA 374 NA NA
## 257 NA 497 1 NA
## 258 NA 384 66 NA
## 259 NA NA NA NA
## 260 NA NA NA NA
## 261 NA NA NA NA
## 262 NA NA NA NA
## 263 NA NA NA NA
## 264 NA NA NA NA
## 265 NA NA NA NA
## 266 NA NA NA NA
## 267 NA NA NA NA
## 268 NA NA NA NA
## 269 NA NA NA NA
## 270 NA NA NA NA
## 271 NA NA NA NA
## 272 NA NA NA NA
## 273 NA NA NA NA
## 274 NA NA NA NA
## 275 NA NA NA NA
## 276 NA NA NA NA
## 277 NA NA NA NA
## 278 NA NA NA NA
## 279 NA NA NA NA
## 280 NA NA NA NA
## 281 NA NA NA NA
## 282 NA NA NA NA
## 283 NA NA NA NA
## 284 NA NA NA NA
## 285 NA NA NA NA
## 286 NA NA NA NA
## 287 NA NA NA NA
## 288 NA NA NA NA
## 289 NA NA NA NA
## 290 NA NA NA NA
## 291 NA NA NA NA
## 292 NA NA NA NA
## 293 NA NA NA NA
## 294 NA NA NA NA
## 295 NA NA NA NA
## 296 NA NA NA NA
## 297 NA NA NA NA
## 298 NA NA NA NA
## 299 NA NA NA NA
## 300 NA NA NA NA
## CommunityArea.44 CommunityArea.45 CommunityArea.46 CommunityArea.47
## 1 NA NA NA NA
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## 7 NA NA NA NA
## 8 NA NA NA NA
## 9 NA NA NA NA
## 10 NA NA NA NA
## 11 NA NA NA NA
## 12 NA NA NA NA
## 13 NA NA NA NA
## 14 NA NA NA NA
## 15 NA NA NA NA
## 16 NA NA NA NA
## 17 NA NA NA NA
## 18 NA NA NA NA
## 19 NA NA NA NA
## 20 NA NA NA NA
## 21 NA NA NA NA
## 22 NA NA NA NA
## 23 NA NA NA NA
## 24 NA NA NA NA
## 25 NA NA NA NA
## 26 NA NA NA NA
## 27 NA NA NA NA
## 28 NA NA NA NA
## 29 NA NA NA NA
## 30 NA NA NA NA
## 31 NA NA NA NA
## 32 NA NA NA NA
## 33 NA NA NA NA
## 34 NA NA NA NA
## 35 NA NA NA NA
## 36 NA NA NA NA
## 37 NA NA NA NA
## 38 NA NA NA NA
## 39 NA NA NA NA
## 40 NA NA NA NA
## 41 NA 460 7 NA
## 42 2 476 158 20
## 43 NA NA NA 164
## 44 NA 49 472 NA
## 45 NA NA 20 NA
## 46 NA NA 503 NA
## 47 NA NA 691 NA
## 48 NA NA 428 NA
## 49 NA NA NA NA
## 50 NA NA NA NA
## 51 NA NA NA NA
## 52 NA NA NA NA
## 53 NA NA NA NA
## 54 NA NA NA NA
## 55 NA NA NA NA
## 56 NA NA NA NA
## 57 NA NA NA NA
## 58 NA NA NA NA
## 59 NA NA NA NA
## 60 NA NA NA NA
## 61 NA NA NA NA
## 62 NA NA NA NA
## 63 NA NA NA NA
## 64 NA NA NA NA
## 65 NA NA NA NA
## 66 76 NA NA NA
## 67 350 NA NA NA
## 68 375 NA NA NA
## 69 274 NA NA NA
## 70 952 NA NA NA
## 71 1060 NA NA NA
## 72 335 NA NA 5
## 73 406 NA NA NA
## 74 NA NA NA NA
## 75 NA NA NA NA
## 76 NA NA NA NA
## 77 NA NA NA NA
## 78 NA NA NA NA
## 79 NA NA NA NA
## 80 NA NA NA NA
## 81 NA NA NA NA
## 82 NA NA NA NA
## 83 NA NA NA NA
## 84 NA NA NA NA
## 85 NA NA NA NA
## 86 NA NA NA NA
## 87 NA NA NA NA
## 88 NA NA NA NA
## 89 NA NA NA NA
## 90 NA NA NA NA
## 91 NA NA NA NA
## 92 NA NA NA NA
## 93 NA NA NA NA
## 94 NA NA NA NA
## 95 NA NA NA NA
## 96 NA NA NA NA
## 97 NA NA NA NA
## 98 NA NA NA NA
## 99 NA NA NA NA
## 100 NA NA NA NA
## 101 NA NA NA NA
## 102 NA NA NA NA
## 103 NA NA NA NA
## 104 NA NA NA NA
## 105 NA NA NA NA
## 106 NA NA NA NA
## 107 NA NA NA NA
## 108 NA NA NA NA
## 109 NA NA NA NA
## 110 NA NA NA NA
## 111 NA NA NA NA
## 112 NA NA NA NA
## 113 NA NA NA NA
## 114 NA NA NA NA
## 115 NA NA NA NA
## 116 NA NA NA NA
## 117 NA NA NA NA
## 118 NA NA NA NA
## 119 NA NA NA NA
## 120 NA NA NA NA
## 121 NA NA NA NA
## 122 NA NA NA NA
## 123 NA NA NA NA
## 124 NA NA NA NA
## 125 NA NA NA NA
## 126 NA NA NA NA
## 127 NA NA NA NA
## 128 NA NA NA NA
## 129 NA NA NA NA
## 130 NA NA NA NA
## 131 NA NA NA NA
## 132 NA NA NA NA
## 133 NA NA NA NA
## 134 NA NA NA NA
## 135 NA NA NA NA
## 136 NA NA NA NA
## 137 NA NA NA NA
## 138 NA NA NA NA
## 139 NA NA NA NA
## 140 NA NA NA NA
## 141 NA NA NA NA
## 142 NA NA NA NA
## 143 NA NA NA NA
## 144 NA NA NA NA
## 145 NA NA NA NA
## 146 NA NA NA NA
## 147 NA NA NA NA
## 148 NA NA NA NA
## 149 NA NA NA NA
## 150 NA NA NA NA
## 151 NA NA NA NA
## 152 NA NA NA NA
## 153 NA NA NA NA
## 154 NA NA NA NA
## 155 NA NA NA NA
## 156 NA NA NA NA
## 157 NA NA NA NA
## 158 NA NA NA NA
## 159 NA NA NA NA
## 160 NA NA NA NA
## 161 NA NA NA NA
## 162 NA NA NA NA
## 163 NA NA NA NA
## 164 NA NA NA NA
## 165 NA NA NA NA
## 166 NA NA NA NA
## 167 NA NA NA NA
## 168 NA NA NA NA
## 169 NA NA NA NA
## 170 NA NA NA NA
## 171 NA NA NA NA
## 172 NA NA NA NA
## 173 NA NA NA NA
## 174 NA NA NA NA
## 175 NA NA NA NA
## 176 NA NA NA NA
## 177 NA NA NA NA
## 178 NA NA NA NA
## 179 NA NA NA NA
## 180 NA NA NA NA
## 181 NA NA NA NA
## 182 NA NA NA NA
## 183 NA NA NA NA
## 184 NA NA NA NA
## 185 NA NA NA NA
## 186 NA NA NA NA
## 187 NA NA NA NA
## 188 NA NA NA NA
## 189 NA NA NA NA
## 190 NA NA NA NA
## 191 NA NA NA NA
## 192 NA NA NA NA
## 193 NA NA NA NA
## 194 NA NA NA NA
## 195 NA NA NA NA
## 196 NA NA NA NA
## 197 NA NA NA NA
## 198 NA NA NA NA
## 199 NA NA NA NA
## 200 NA NA NA NA
## 201 NA NA NA NA
## 202 NA NA NA NA
## 203 NA NA NA NA
## 204 NA NA NA NA
## 205 NA NA NA NA
## 206 NA NA NA NA
## 207 NA NA NA NA
## 208 NA NA NA NA
## 209 NA NA NA NA
## 210 NA NA NA NA
## 211 NA NA NA NA
## 212 NA NA NA NA
## 213 NA NA NA NA
## 214 NA NA NA NA
## 215 NA NA NA NA
## 216 NA NA NA NA
## 217 NA NA NA NA
## 218 NA NA NA NA
## 219 NA NA NA NA
## 220 NA NA NA NA
## 221 NA NA NA NA
## 222 NA NA NA NA
## 223 NA NA NA NA
## 224 NA NA NA NA
## 225 NA NA NA NA
## 226 NA NA NA NA
## 227 NA NA NA NA
## 228 NA NA NA NA
## 229 NA NA NA NA
## 230 NA NA NA NA
## 231 NA NA NA NA
## 232 NA NA NA NA
## 233 NA NA NA NA
## 234 NA NA NA NA
## 235 NA NA NA NA
## 236 NA NA NA NA
## 237 NA NA NA NA
## 238 NA NA NA NA
## 239 NA NA NA NA
## 240 NA NA NA NA
## 241 NA NA NA NA
## 242 NA NA NA NA
## 243 NA NA NA NA
## 244 NA NA NA NA
## 245 NA NA NA NA
## 246 NA NA NA NA
## 247 NA NA NA NA
## 248 NA NA NA NA
## 249 NA NA NA NA
## 250 NA NA NA NA
## 251 NA NA NA NA
## 252 NA NA NA NA
## 253 NA NA NA NA
## 254 NA NA NA NA
## 255 NA NA NA NA
## 256 NA NA NA NA
## 257 NA NA NA NA
## 258 NA NA NA NA
## 259 NA NA NA NA
## 260 NA NA NA NA
## 261 NA NA NA NA
## 262 NA NA NA NA
## 263 NA NA NA NA
## 264 NA NA NA NA
## 265 NA NA NA NA
## 266 NA NA NA NA
## 267 NA NA NA NA
## 268 NA NA NA NA
## 269 NA NA NA NA
## 270 NA NA NA NA
## 271 NA NA NA NA
## 272 NA NA NA NA
## 273 NA NA NA NA
## 274 NA NA NA NA
## 275 NA NA NA NA
## 276 NA NA NA NA
## 277 NA NA NA NA
## 278 NA NA NA NA
## 279 NA NA NA NA
## 280 NA NA NA NA
## 281 NA NA NA NA
## 282 NA NA NA NA
## 283 NA NA NA NA
## 284 NA NA NA NA
## 285 NA NA NA NA
## 286 NA NA NA NA
## 287 NA NA NA NA
## 288 NA NA NA NA
## 289 NA NA NA NA
## 290 NA NA NA NA
## 291 NA NA NA NA
## 292 NA NA NA NA
## 293 NA NA NA NA
## 294 NA NA NA NA
## 295 NA NA NA NA
## 296 NA NA NA NA
## 297 NA NA NA NA
## 298 NA NA NA NA
## 299 NA NA NA NA
## 300 NA NA NA NA
## CommunityArea.48 CommunityArea.49 CommunityArea.50 CommunityArea.51
## 1 NA NA NA NA
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## 7 NA NA NA NA
## 8 NA NA NA NA
## 9 NA NA NA NA
## 10 NA NA NA NA
## 11 NA NA NA NA
## 12 NA NA NA NA
## 13 NA NA NA NA
## 14 NA NA NA NA
## 15 NA NA NA NA
## 16 NA NA NA NA
## 17 NA NA NA NA
## 18 NA NA NA NA
## 19 NA NA NA NA
## 20 NA NA NA NA
## 21 NA NA NA NA
## 22 NA NA NA NA
## 23 NA NA NA NA
## 24 NA NA NA NA
## 25 NA NA NA NA
## 26 NA NA NA NA
## 27 NA NA NA NA
## 28 NA NA NA NA
## 29 NA NA NA NA
## 30 NA NA NA NA
## 31 NA NA NA NA
## 32 NA NA NA NA
## 33 NA NA NA NA
## 34 NA NA NA NA
## 35 NA NA NA NA
## 36 NA NA NA NA
## 37 NA NA NA NA
## 38 NA NA NA NA
## 39 NA NA NA NA
## 40 NA NA NA NA
## 41 NA NA NA NA
## 42 359 NA NA NA
## 43 606 NA NA 9
## 44 NA NA NA NA
## 45 NA NA NA NA
## 46 NA NA NA NA
## 47 226 NA NA NA
## 48 3 NA NA NA
## 49 NA NA NA 606
## 50 NA NA NA NA
## 51 NA NA NA 1
## 52 NA NA NA 204
## 53 NA 956 267 NA
## 54 NA 538 149 1
## 55 NA 575 41 5
## 56 NA 244 NA NA
## 57 NA NA NA NA
## 58 NA NA NA NA
## 59 NA 386 170 1
## 60 NA NA NA 4
## 61 NA NA NA NA
## 62 NA NA NA NA
## 63 NA NA NA NA
## 64 NA NA NA NA
## 65 NA NA NA NA
## 66 NA NA NA NA
## 67 NA NA NA NA
## 68 NA NA NA NA
## 69 NA NA NA NA
## 70 NA NA NA NA
## 71 NA NA NA NA
## 72 NA 178 NA NA
## 73 NA 437 NA NA
## 74 NA NA NA NA
## 75 NA NA NA NA
## 76 NA NA NA NA
## 77 NA NA NA NA
## 78 NA NA NA NA
## 79 NA NA NA NA
## 80 NA NA NA NA
## 81 NA NA NA NA
## 82 NA NA NA NA
## 83 NA NA NA NA
## 84 NA NA NA NA
## 85 NA NA NA NA
## 86 NA NA NA NA
## 87 NA NA NA NA
## 88 NA NA NA NA
## 89 NA NA NA NA
## 90 NA NA NA NA
## 91 NA NA NA NA
## 92 NA NA NA NA
## 93 NA NA NA NA
## 94 NA NA NA NA
## 95 NA NA NA NA
## 96 NA NA NA NA
## 97 NA NA NA NA
## 98 NA NA NA NA
## 99 NA NA NA NA
## 100 NA NA NA NA
## 101 NA NA NA NA
## 102 NA NA NA NA
## 103 NA NA NA NA
## 104 NA NA NA NA
## 105 NA NA NA NA
## 106 NA NA NA NA
## 107 NA NA NA NA
## 108 NA NA NA NA
## 109 NA NA NA NA
## 110 NA NA NA NA
## 111 NA NA NA NA
## 112 NA NA NA NA
## 113 NA NA NA NA
## 114 NA NA NA NA
## 115 NA NA NA NA
## 116 NA NA NA NA
## 117 NA NA NA NA
## 118 NA NA NA NA
## 119 NA NA NA NA
## 120 NA NA NA NA
## 121 NA NA NA NA
## 122 NA NA NA NA
## 123 NA NA NA NA
## 124 NA NA NA NA
## 125 NA NA NA NA
## 126 NA NA NA NA
## 127 NA NA NA NA
## 128 NA NA NA NA
## 129 NA NA NA NA
## 130 NA NA NA NA
## 131 NA NA NA NA
## 132 NA NA NA NA
## 133 NA NA NA NA
## 134 NA NA NA NA
## 135 NA NA NA NA
## 136 NA NA NA NA
## 137 NA NA NA NA
## 138 NA NA NA NA
## 139 NA NA NA NA
## 140 NA NA NA NA
## 141 NA NA NA NA
## 142 NA NA NA NA
## 143 NA NA NA NA
## 144 NA NA NA NA
## 145 NA NA NA NA
## 146 NA NA NA NA
## 147 NA NA NA NA
## 148 NA NA NA NA
## 149 NA NA NA NA
## 150 NA NA NA NA
## 151 NA NA NA NA
## 152 NA NA NA NA
## 153 NA NA NA NA
## 154 NA NA NA NA
## 155 NA NA NA NA
## 156 NA NA NA NA
## 157 NA NA NA NA
## 158 NA NA NA NA
## 159 NA NA NA NA
## 160 NA NA NA NA
## 161 NA NA NA NA
## 162 NA NA NA NA
## 163 NA NA NA NA
## 164 NA NA NA NA
## 165 NA NA NA NA
## 166 NA NA NA NA
## 167 NA NA NA NA
## 168 NA NA NA NA
## 169 NA NA NA NA
## 170 NA NA NA NA
## 171 NA NA NA NA
## 172 NA NA NA NA
## 173 NA NA NA NA
## 174 NA NA NA NA
## 175 NA NA NA NA
## 176 NA NA NA NA
## 177 NA NA NA NA
## 178 NA NA NA NA
## 179 NA NA NA NA
## 180 NA NA NA NA
## 181 NA NA NA NA
## 182 NA NA NA NA
## 183 NA NA NA NA
## 184 NA NA NA NA
## 185 NA NA NA NA
## 186 NA NA NA NA
## 187 NA NA NA NA
## 188 NA NA NA NA
## 189 NA NA NA NA
## 190 NA NA NA NA
## 191 NA NA NA NA
## 192 NA NA NA NA
## 193 NA NA NA NA
## 194 NA NA NA NA
## 195 NA NA NA NA
## 196 NA NA NA NA
## 197 NA NA NA NA
## 198 NA NA NA NA
## 199 NA NA NA NA
## 200 NA NA NA NA
## 201 NA NA NA NA
## 202 NA NA NA NA
## 203 NA NA NA NA
## 204 NA NA NA NA
## 205 NA NA NA NA
## 206 NA NA NA NA
## 207 NA NA NA NA
## 208 NA NA NA NA
## 209 NA NA NA NA
## 210 NA NA NA NA
## 211 NA NA NA NA
## 212 NA NA NA NA
## 213 NA NA NA NA
## 214 NA NA NA NA
## 215 NA NA NA NA
## 216 NA NA NA NA
## 217 NA NA NA NA
## 218 NA NA NA NA
## 219 NA NA NA NA
## 220 NA NA NA NA
## 221 NA NA NA NA
## 222 NA NA NA NA
## 223 NA NA NA NA
## 224 NA NA NA NA
## 225 NA NA NA NA
## 226 NA NA NA NA
## 227 NA NA NA NA
## 228 NA NA NA NA
## 229 NA NA NA NA
## 230 NA NA NA NA
## 231 NA NA NA NA
## 232 NA NA NA NA
## 233 NA NA NA NA
## 234 NA NA NA NA
## 235 NA NA NA NA
## 236 NA NA NA NA
## 237 NA NA NA NA
## 238 NA NA NA NA
## 239 NA NA NA NA
## 240 NA NA NA NA
## 241 NA NA NA NA
## 242 NA NA NA NA
## 243 NA NA NA NA
## 244 NA NA NA NA
## 245 NA NA NA NA
## 246 NA NA NA NA
## 247 NA NA NA NA
## 248 NA NA NA NA
## 249 NA NA NA NA
## 250 NA NA NA NA
## 251 NA NA NA NA
## 252 NA NA NA NA
## 253 NA NA NA NA
## 254 NA NA NA NA
## 255 NA NA NA NA
## 256 NA NA NA NA
## 257 NA NA NA NA
## 258 NA NA NA NA
## 259 NA NA NA NA
## 260 NA NA NA NA
## 261 NA NA NA NA
## 262 NA NA NA NA
## 263 NA NA NA NA
## 264 NA 1 NA NA
## 265 NA 52 NA NA
## 266 NA 440 NA NA
## 267 NA NA NA NA
## 268 NA NA NA NA
## 269 NA NA NA NA
## 270 NA NA NA NA
## 271 NA NA NA NA
## 272 NA NA NA NA
## 273 NA NA NA NA
## 274 NA NA NA NA
## 275 NA NA NA NA
## 276 NA NA NA NA
## 277 NA NA NA NA
## 278 NA NA NA NA
## 279 NA NA NA NA
## 280 NA NA NA NA
## 281 NA NA NA NA
## 282 NA NA NA NA
## 283 NA NA NA NA
## 284 NA NA NA NA
## 285 NA NA NA NA
## 286 NA NA NA NA
## 287 NA NA NA NA
## 288 NA NA NA NA
## 289 NA NA NA NA
## 290 NA NA NA NA
## 291 NA NA NA NA
## 292 NA NA NA NA
## 293 NA NA NA NA
## 294 NA NA NA NA
## 295 NA NA NA NA
## 296 NA NA NA NA
## 297 NA NA NA NA
## 298 NA NA NA NA
## 299 NA NA NA NA
## 300 NA NA NA NA
## CommunityArea.52 CommunityArea.53 CommunityArea.54 CommunityArea.55
## 1 NA NA NA NA
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## 7 NA NA NA NA
## 8 NA NA NA NA
## 9 NA NA NA NA
## 10 NA NA NA NA
## 11 NA NA NA NA
## 12 NA NA NA NA
## 13 NA NA NA NA
## 14 NA NA NA NA
## 15 NA NA NA NA
## 16 NA NA NA NA
## 17 NA NA NA NA
## 18 NA NA NA NA
## 19 NA NA NA NA
## 20 NA NA NA NA
## 21 NA NA NA NA
## 22 NA NA NA NA
## 23 NA NA NA NA
## 24 NA NA NA NA
## 25 NA NA NA NA
## 26 NA NA NA NA
## 27 NA NA NA NA
## 28 NA NA NA NA
## 29 NA NA NA NA
## 30 NA NA NA NA
## 31 NA NA NA NA
## 32 NA NA NA NA
## 33 NA NA NA NA
## 34 NA NA NA NA
## 35 NA NA NA NA
## 36 NA NA NA NA
## 37 NA NA NA NA
## 38 NA NA NA NA
## 39 NA NA NA NA
## 40 NA NA NA NA
## 41 NA NA NA NA
## 42 NA NA NA NA
## 43 NA NA NA NA
## 44 NA NA NA NA
## 45 NA NA NA NA
## 46 NA NA NA NA
## 47 NA NA NA NA
## 48 NA NA NA NA
## 49 NA NA NA NA
## 50 501 NA NA NA
## 51 75 NA NA 244
## 52 NA NA NA 12
## 53 NA NA NA NA
## 54 NA NA NA NA
## 55 NA NA NA NA
## 56 NA 408 NA NA
## 57 NA 879 NA NA
## 58 NA 667 NA NA
## 59 NA NA NA NA
## 60 NA 461 38 NA
## 61 NA NA 346 NA
## 62 NA NA NA NA
## 63 NA NA NA NA
## 64 NA NA NA NA
## 65 NA NA NA NA
## 66 NA NA NA NA
## 67 NA NA NA NA
## 68 NA NA NA NA
## 69 NA NA NA NA
## 70 NA NA NA NA
## 71 NA NA NA NA
## 72 NA NA NA NA
## 73 NA NA NA NA
## 74 NA NA NA NA
## 75 NA NA NA NA
## 76 NA NA NA NA
## 77 NA NA NA NA
## 78 NA NA NA NA
## 79 NA NA NA NA
## 80 NA NA NA NA
## 81 NA NA NA NA
## 82 NA NA NA NA
## 83 NA NA NA NA
## 84 NA NA NA NA
## 85 NA NA NA NA
## 86 NA NA NA NA
## 87 NA NA NA NA
## 88 NA NA NA NA
## 89 NA NA NA NA
## 90 NA NA NA NA
## 91 NA NA NA NA
## 92 NA NA NA NA
## 93 NA NA NA NA
## 94 NA NA NA NA
## 95 NA NA NA NA
## 96 NA NA NA NA
## 97 NA NA NA NA
## 98 NA NA NA NA
## 99 NA NA NA NA
## 100 NA NA NA NA
## 101 NA NA NA NA
## 102 NA NA NA NA
## 103 NA NA NA NA
## 104 NA NA NA NA
## 105 NA NA NA NA
## 106 NA NA NA NA
## 107 NA NA NA NA
## 108 NA NA NA NA
## 109 NA NA NA NA
## 110 NA NA NA NA
## 111 NA NA NA NA
## 112 NA NA NA NA
## 113 NA NA NA NA
## 114 NA NA NA NA
## 115 NA NA NA NA
## 116 NA NA NA NA
## 117 NA NA NA NA
## 118 NA NA NA NA
## 119 NA NA NA NA
## 120 NA NA NA NA
## 121 NA NA NA NA
## 122 NA NA NA NA
## 123 NA NA NA NA
## 124 NA NA NA NA
## 125 NA NA NA NA
## 126 NA NA NA NA
## 127 NA NA NA NA
## 128 NA NA NA NA
## 129 NA NA NA NA
## 130 NA NA NA NA
## 131 NA NA NA NA
## 132 NA NA NA NA
## 133 NA NA NA NA
## 134 NA NA NA NA
## 135 NA NA NA NA
## 136 NA NA NA NA
## 137 NA NA NA NA
## 138 NA NA NA NA
## 139 NA NA NA NA
## 140 NA NA NA NA
## 141 NA NA NA NA
## 142 NA NA NA NA
## 143 NA NA NA NA
## 144 NA NA NA NA
## 145 NA NA NA NA
## 146 NA NA NA NA
## 147 NA NA NA NA
## 148 NA NA NA NA
## 149 NA NA NA NA
## 150 NA NA NA NA
## 151 NA NA NA NA
## 152 NA NA NA NA
## 153 NA NA NA NA
## 154 NA NA NA NA
## 155 NA NA NA NA
## 156 NA NA NA NA
## 157 NA NA NA NA
## 158 NA NA NA NA
## 159 NA NA NA NA
## 160 NA NA NA NA
## 161 NA NA NA NA
## 162 NA NA NA NA
## 163 NA NA NA NA
## 164 NA NA NA NA
## 165 NA NA NA NA
## 166 NA NA NA NA
## 167 NA NA NA NA
## 168 NA NA NA NA
## 169 NA NA NA NA
## 170 NA NA NA NA
## 171 NA NA NA NA
## 172 NA NA NA NA
## 173 NA NA NA NA
## 174 NA NA NA NA
## 175 NA NA NA NA
## 176 NA NA NA NA
## 177 NA NA NA NA
## 178 NA NA NA NA
## 179 NA NA NA NA
## 180 NA NA NA NA
## 181 NA NA NA NA
## 182 NA NA NA NA
## 183 NA NA NA NA
## 184 NA NA NA NA
## 185 NA NA NA NA
## 186 NA NA NA NA
## 187 NA NA NA NA
## 188 NA NA NA NA
## 189 NA NA NA NA
## 190 NA NA NA NA
## 191 NA NA NA NA
## 192 NA NA NA NA
## 193 NA NA NA NA
## 194 NA NA NA NA
## 195 NA NA NA NA
## 196 NA NA NA NA
## 197 NA NA NA NA
## 198 NA NA NA NA
## 199 NA NA NA NA
## 200 NA NA NA NA
## 201 NA NA NA NA
## 202 NA NA NA NA
## 203 NA NA NA NA
## 204 NA NA NA NA
## 205 NA NA NA NA
## 206 NA NA NA NA
## 207 NA NA NA NA
## 208 NA NA NA NA
## 209 NA NA NA NA
## 210 NA NA NA NA
## 211 NA NA NA NA
## 212 NA NA NA NA
## 213 NA NA NA NA
## 214 NA NA NA NA
## 215 NA NA NA NA
## 216 NA NA NA NA
## 217 NA NA NA NA
## 218 NA NA NA NA
## 219 NA NA NA NA
## 220 NA NA NA NA
## 221 NA NA NA NA
## 222 NA NA NA NA
## 223 NA NA NA NA
## 224 NA NA NA NA
## 225 NA NA NA NA
## 226 NA NA NA NA
## 227 NA NA NA NA
## 228 NA NA NA NA
## 229 NA NA NA NA
## 230 NA NA NA NA
## 231 NA NA NA NA
## 232 NA NA NA NA
## 233 NA NA NA NA
## 234 NA NA NA NA
## 235 NA NA NA NA
## 236 NA NA NA NA
## 237 NA NA NA NA
## 238 NA NA NA NA
## 239 NA NA NA NA
## 240 NA NA NA NA
## 241 NA NA NA NA
## 242 NA NA NA NA
## 243 NA NA NA NA
## 244 NA NA NA NA
## 245 NA NA NA NA
## 246 NA NA NA NA
## 247 NA NA NA NA
## 248 NA NA NA NA
## 249 NA NA NA NA
## 250 NA NA NA NA
## 251 NA NA NA NA
## 252 NA NA NA NA
## 253 NA NA NA NA
## 254 NA NA NA NA
## 255 NA NA NA NA
## 256 NA NA NA NA
## 257 NA NA NA NA
## 258 NA NA NA NA
## 259 NA NA NA NA
## 260 NA 1 NA NA
## 261 NA NA NA NA
## 262 NA NA NA NA
## 263 NA NA NA NA
## 264 NA NA NA NA
## 265 NA NA NA NA
## 266 NA NA NA NA
## 267 NA NA NA NA
## 268 NA NA NA NA
## 269 NA NA NA NA
## 270 NA NA NA NA
## 271 NA NA NA NA
## 272 NA NA NA NA
## 273 NA NA NA NA
## 274 NA NA NA NA
## 275 NA NA NA NA
## 276 NA NA NA NA
## 277 NA NA NA NA
## 278 NA NA NA NA
## 279 NA NA NA NA
## 280 NA NA NA NA
## 281 NA NA NA NA
## 282 NA NA NA NA
## 283 NA NA NA NA
## 284 NA NA NA NA
## 285 NA NA NA NA
## 286 NA NA NA NA
## 287 NA NA NA NA
## 288 NA NA NA NA
## 289 NA NA NA NA
## 290 NA NA NA NA
## 291 NA NA NA NA
## 292 NA NA NA NA
## 293 NA NA NA NA
## 294 NA NA NA NA
## 295 NA NA NA NA
## 296 NA NA NA NA
## 297 NA NA NA NA
## 298 NA NA NA NA
## 299 NA NA NA NA
## 300 NA NA NA NA
## CommunityArea.56 CommunityArea.57 CommunityArea.58 CommunityArea.59
## 1 NA NA NA NA
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## 7 NA NA NA NA
## 8 NA NA NA NA
## 9 NA NA NA NA
## 10 NA NA NA NA
## 11 NA NA NA NA
## 12 NA NA NA NA
## 13 NA NA NA NA
## 14 NA NA NA NA
## 15 NA NA NA NA
## 16 NA NA NA NA
## 17 NA NA NA NA
## 18 NA NA NA NA
## 19 NA NA NA NA
## 20 NA NA NA NA
## 21 NA NA NA NA
## 22 NA NA NA NA
## 23 NA NA NA NA
## 24 NA NA NA NA
## 25 NA NA NA NA
## 26 NA NA NA NA
## 27 NA NA NA NA
## 28 NA NA NA NA
## 29 NA NA NA NA
## 30 NA NA NA NA
## 31 NA NA NA NA
## 32 NA NA NA NA
## 33 NA NA NA NA
## 34 NA NA NA NA
## 35 NA NA NA NA
## 36 NA NA NA NA
## 37 NA NA NA NA
## 38 NA NA NA NA
## 39 NA NA NA NA
## 40 NA NA NA NA
## 41 NA NA NA NA
## 42 NA NA NA NA
## 43 NA NA NA NA
## 44 NA NA NA NA
## 45 NA NA NA NA
## 46 NA NA NA NA
## 47 NA NA NA NA
## 48 NA NA NA NA
## 49 NA NA NA NA
## 50 NA NA NA NA
## 51 NA NA NA NA
## 52 NA NA NA NA
## 53 NA NA NA NA
## 54 NA NA NA NA
## 55 NA NA NA NA
## 56 NA NA NA NA
## 57 NA NA NA NA
## 58 NA NA NA NA
## 59 NA NA NA NA
## 60 NA NA NA NA
## 61 NA NA NA NA
## 62 NA NA NA NA
## 63 NA NA NA NA
## 64 NA NA NA NA
## 65 NA NA NA NA
## 66 NA NA NA NA
## 67 NA NA NA NA
## 68 NA NA NA NA
## 69 NA NA NA NA
## 70 NA NA NA NA
## 71 NA NA NA NA
## 72 NA NA NA NA
## 73 NA NA NA NA
## 74 NA NA NA NA
## 75 NA NA NA NA
## 76 NA NA NA NA
## 77 NA NA NA NA
## 78 NA NA NA NA
## 79 NA NA NA NA
## 80 NA NA NA NA
## 81 NA NA NA NA
## 82 NA NA NA NA
## 83 NA NA NA NA
## 84 NA NA NA NA
## 85 NA NA NA NA
## 86 NA NA NA NA
## 87 NA NA NA NA
## 88 NA NA NA NA
## 89 410 NA NA NA
## 90 1 NA NA NA
## 91 223 NA NA NA
## 92 542 NA NA NA
## 93 256 726 NA NA
## 94 NA 219 393 NA
## 95 NA NA NA NA
## 96 NA NA NA NA
## 97 NA NA NA NA
## 98 NA NA NA NA
## 99 NA NA NA NA
## 100 NA NA NA NA
## 101 NA NA NA NA
## 102 NA NA NA NA
## 103 NA NA NA NA
## 104 NA NA 209 6
## 105 NA NA 1169 73
## 106 NA NA 473 483
## 107 NA NA 453 NA
## 108 NA NA NA NA
## 109 NA NA 60 NA
## 110 NA NA 83 471
## 111 NA NA NA 2
## 112 NA NA NA NA
## 113 NA NA NA NA
## 114 NA NA NA NA
## 115 NA NA NA NA
## 116 NA NA NA NA
## 117 NA NA NA NA
## 118 NA NA NA NA
## 119 NA NA NA NA
## 120 NA NA NA NA
## 121 NA NA NA NA
## 122 NA NA NA NA
## 123 NA NA NA NA
## 124 NA NA NA NA
## 125 NA NA NA NA
## 126 NA NA NA NA
## 127 1 NA NA NA
## 128 NA NA NA NA
## 129 NA NA NA NA
## 130 NA NA NA NA
## 131 NA NA NA NA
## 132 NA NA NA NA
## 133 NA NA NA NA
## 134 NA NA NA NA
## 135 NA NA NA NA
## 136 NA NA NA NA
## 137 NA NA NA NA
## 138 NA NA NA NA
## 139 NA NA NA NA
## 140 NA NA NA NA
## 141 NA NA NA NA
## 142 NA NA NA NA
## 143 NA NA NA NA
## 144 NA NA NA NA
## 145 NA NA NA NA
## 146 NA NA NA NA
## 147 NA NA NA NA
## 148 NA NA NA NA
## 149 NA NA NA NA
## 150 NA NA NA NA
## 151 NA NA NA NA
## 152 NA NA NA NA
## 153 NA NA NA NA
## 154 NA NA NA NA
## 155 NA NA NA NA
## 156 NA NA NA NA
## 157 NA NA NA NA
## 158 NA NA NA NA
## 159 NA NA NA NA
## 160 NA NA NA NA
## 161 NA NA NA NA
## 162 NA NA NA NA
## 163 NA NA NA NA
## 164 NA NA NA NA
## 165 NA NA NA NA
## 166 NA NA NA NA
## 167 NA NA NA NA
## 168 NA NA NA NA
## 169 NA NA NA NA
## 170 NA NA NA NA
## 171 NA NA NA NA
## 172 NA NA NA NA
## 173 NA NA NA NA
## 174 NA NA NA NA
## 175 NA NA NA NA
## 176 NA NA NA NA
## 177 NA NA NA NA
## 178 NA NA NA NA
## 179 NA NA NA NA
## 180 NA NA NA NA
## 181 NA NA NA NA
## 182 NA NA NA NA
## 183 NA NA NA NA
## 184 NA NA NA NA
## 185 NA NA NA NA
## 186 NA NA NA NA
## 187 NA NA NA NA
## 188 NA NA NA NA
## 189 NA NA NA NA
## 190 NA NA NA NA
## 191 NA NA NA NA
## 192 NA NA NA NA
## 193 NA NA NA NA
## 194 NA NA NA NA
## 195 NA NA NA NA
## 196 NA NA NA NA
## 197 NA NA NA NA
## 198 NA NA NA NA
## 199 NA NA NA NA
## 200 NA NA NA NA
## 201 NA NA NA NA
## 202 NA NA NA NA
## 203 NA NA NA NA
## 204 NA NA NA NA
## 205 NA NA NA NA
## 206 NA NA NA NA
## 207 NA NA NA NA
## 208 NA NA NA NA
## 209 NA NA NA NA
## 210 NA NA NA NA
## 211 NA NA NA NA
## 212 NA NA NA NA
## 213 NA NA NA NA
## 214 NA NA NA NA
## 215 NA NA NA NA
## 216 NA NA NA NA
## 217 NA NA NA NA
## 218 NA NA NA NA
## 219 NA NA NA NA
## 220 NA NA NA NA
## 221 NA NA NA NA
## 222 NA NA NA NA
## 223 NA NA NA NA
## 224 NA NA NA NA
## 225 NA NA NA NA
## 226 NA NA NA NA
## 227 NA NA NA NA
## 228 NA NA NA NA
## 229 NA NA NA NA
## 230 NA NA NA NA
## 231 NA NA NA NA
## 232 NA NA NA NA
## 233 NA NA NA NA
## 234 NA NA NA NA
## 235 NA NA NA NA
## 236 NA NA NA NA
## 237 NA NA NA NA
## 238 NA NA NA NA
## 239 NA NA NA NA
## 240 NA NA NA NA
## 241 NA NA NA NA
## 242 NA NA NA NA
## 243 NA NA NA NA
## 244 NA NA NA NA
## 245 NA NA NA NA
## 246 NA NA NA NA
## 247 NA NA NA NA
## 248 NA NA NA NA
## 249 NA NA NA NA
## 250 NA NA NA NA
## 251 NA NA NA NA
## 252 NA NA NA NA
## 253 NA NA NA NA
## 254 NA NA NA NA
## 255 NA NA NA NA
## 256 NA NA NA NA
## 257 NA NA NA NA
## 258 NA NA NA NA
## 259 NA NA NA NA
## 260 NA NA NA NA
## 261 NA NA NA NA
## 262 NA NA NA NA
## 263 NA NA NA NA
## 264 NA NA NA NA
## 265 NA NA NA NA
## 266 NA NA NA NA
## 267 NA NA NA NA
## 268 NA NA NA NA
## 269 NA NA NA NA
## 270 NA NA NA NA
## 271 NA NA NA NA
## 272 NA NA NA NA
## 273 NA NA NA NA
## 274 NA NA NA NA
## 275 NA NA NA NA
## 276 NA NA NA NA
## 277 NA NA NA NA
## 278 NA NA NA NA
## 279 NA NA NA NA
## 280 NA NA NA NA
## 281 NA NA NA NA
## 282 NA NA NA NA
## 283 NA NA NA NA
## 284 NA NA NA NA
## 285 NA NA NA NA
## 286 NA NA NA NA
## 287 NA NA NA NA
## 288 NA NA NA NA
## 289 NA NA NA NA
## 290 NA NA NA NA
## 291 NA NA NA NA
## 292 NA NA NA NA
## 293 NA NA NA NA
## 294 NA NA NA NA
## 295 NA NA NA NA
## 296 NA NA NA NA
## 297 NA NA NA NA
## 298 NA NA NA NA
## 299 NA NA NA NA
## 300 NA NA NA NA
## CommunityArea.60 CommunityArea.61 CommunityArea.62 CommunityArea.63
## 1 NA NA NA NA
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## 7 NA NA NA NA
## 8 NA NA NA NA
## 9 NA NA NA NA
## 10 NA NA NA NA
## 11 NA NA NA NA
## 12 NA NA NA NA
## 13 NA NA NA NA
## 14 NA NA NA NA
## 15 NA NA NA NA
## 16 NA NA NA NA
## 17 NA NA NA NA
## 18 NA NA NA NA
## 19 NA NA NA NA
## 20 NA NA NA NA
## 21 NA NA NA NA
## 22 NA NA NA NA
## 23 NA NA NA NA
## 24 NA NA NA NA
## 25 NA NA NA NA
## 26 NA NA NA NA
## 27 NA NA NA NA
## 28 NA NA NA NA
## 29 NA NA NA NA
## 30 NA NA NA NA
## 31 NA NA NA NA
## 32 NA NA NA NA
## 33 NA NA NA NA
## 34 NA NA NA NA
## 35 NA NA NA NA
## 36 NA NA NA NA
## 37 NA NA NA NA
## 38 NA NA NA NA
## 39 NA NA NA NA
## 40 NA NA NA NA
## 41 NA NA NA NA
## 42 NA NA NA NA
## 43 NA NA NA NA
## 44 NA NA NA NA
## 45 NA NA NA NA
## 46 NA NA NA NA
## 47 NA NA NA NA
## 48 NA NA NA NA
## 49 NA NA NA NA
## 50 NA NA NA NA
## 51 NA NA NA NA
## 52 NA NA NA NA
## 53 NA NA NA NA
## 54 NA NA NA NA
## 55 NA NA NA NA
## 56 NA NA NA NA
## 57 NA NA NA NA
## 58 NA NA NA NA
## 59 NA NA NA NA
## 60 NA NA NA NA
## 61 NA NA NA NA
## 62 NA NA NA NA
## 63 NA NA NA NA
## 64 NA NA NA NA
## 65 NA NA NA NA
## 66 NA NA NA NA
## 67 NA NA NA NA
## 68 NA NA NA NA
## 69 NA NA NA NA
## 70 NA NA NA NA
## 71 NA NA NA NA
## 72 NA NA NA NA
## 73 NA NA NA NA
## 74 NA NA NA NA
## 75 NA NA NA NA
## 76 NA NA NA NA
## 77 NA NA NA NA
## 78 NA NA NA NA
## 79 NA NA NA NA
## 80 NA NA NA NA
## 81 NA NA NA NA
## 82 NA NA NA NA
## 83 NA NA NA NA
## 84 NA NA NA NA
## 85 NA NA NA NA
## 86 NA NA NA NA
## 87 NA NA NA NA
## 88 NA NA NA NA
## 89 NA NA NA NA
## 90 NA NA NA NA
## 91 NA NA 221 NA
## 92 NA NA NA NA
## 93 NA NA 318 NA
## 94 NA NA 7 70
## 95 NA NA 332 514
## 96 NA NA NA NA
## 97 NA NA NA 910
## 98 NA NA NA NA
## 99 NA NA NA NA
## 100 NA NA NA NA
## 101 NA NA NA NA
## 102 NA NA NA NA
## 103 NA NA NA NA
## 104 NA NA NA 951
## 105 1 NA NA NA
## 106 38 NA NA NA
## 107 17 626 NA NA
## 108 34 693 NA 120
## 109 NA 297 NA NA
## 110 77 1 NA NA
## 111 585 NA NA 109
## 112 413 45 NA NA
## 113 128 48 NA NA
## 114 NA 646 NA 4
## 115 NA 427 NA 2
## 116 NA 379 NA NA
## 117 NA 431 NA NA
## 118 NA 255 NA NA
## 119 NA NA NA NA
## 120 NA NA NA NA
## 121 NA NA NA NA
## 122 NA NA NA NA
## 123 NA NA NA NA
## 124 NA NA NA NA
## 125 NA NA NA NA
## 126 NA NA NA NA
## 127 NA NA NA NA
## 128 NA NA NA NA
## 129 NA NA NA NA
## 130 NA NA NA NA
## 131 NA NA NA NA
## 132 NA NA NA NA
## 133 NA NA NA NA
## 134 NA NA NA NA
## 135 NA NA NA NA
## 136 NA NA NA NA
## 137 NA NA NA NA
## 138 NA NA NA NA
## 139 NA NA NA NA
## 140 NA NA NA NA
## 141 NA NA NA NA
## 142 NA NA NA NA
## 143 NA NA NA NA
## 144 NA NA NA NA
## 145 NA NA NA NA
## 146 NA NA NA NA
## 147 NA NA NA NA
## 148 NA NA NA NA
## 149 NA NA NA NA
## 150 NA NA NA NA
## 151 NA NA NA NA
## 152 NA NA NA NA
## 153 NA NA NA NA
## 154 NA NA NA NA
## 155 NA NA NA NA
## 156 NA NA NA NA
## 157 NA NA NA NA
## 158 NA NA NA NA
## 159 NA NA NA NA
## 160 NA NA NA NA
## 161 NA NA NA NA
## 162 NA NA NA NA
## 163 NA NA NA NA
## 164 NA NA NA NA
## 165 NA NA NA NA
## 166 NA NA NA NA
## 167 NA NA NA NA
## 168 NA NA NA NA
## 169 NA NA NA NA
## 170 NA NA NA NA
## 171 NA NA NA NA
## 172 NA NA NA NA
## 173 NA NA NA NA
## 174 NA NA NA NA
## 175 NA NA NA NA
## 176 NA NA NA NA
## 177 NA NA NA NA
## 178 NA NA NA NA
## 179 NA NA NA NA
## 180 NA NA NA NA
## 181 NA NA NA NA
## 182 NA NA NA NA
## 183 NA NA NA NA
## 184 NA NA NA NA
## 185 NA NA NA NA
## 186 NA NA NA NA
## 187 NA NA NA NA
## 188 NA NA NA NA
## 189 NA NA NA NA
## 190 NA NA NA NA
## 191 NA NA NA NA
## 192 NA NA NA NA
## 193 NA NA NA NA
## 194 NA NA NA NA
## 195 NA NA NA NA
## 196 NA NA NA NA
## 197 NA NA NA NA
## 198 NA NA NA NA
## 199 NA NA NA NA
## 200 NA NA NA NA
## 201 NA NA NA NA
## 202 NA NA NA NA
## 203 NA NA NA NA
## 204 NA NA NA NA
## 205 NA NA NA NA
## 206 NA NA NA NA
## 207 NA NA NA NA
## 208 NA NA NA NA
## 209 NA NA NA NA
## 210 NA NA NA NA
## 211 NA NA NA NA
## 212 NA NA NA NA
## 213 NA NA NA NA
## 214 NA NA NA NA
## 215 NA NA NA NA
## 216 NA NA NA NA
## 217 NA NA NA NA
## 218 NA NA NA NA
## 219 NA NA NA NA
## 220 NA NA NA NA
## 221 NA NA NA NA
## 222 NA NA NA NA
## 223 NA NA NA NA
## 224 NA NA NA NA
## 225 NA NA NA NA
## 226 NA NA NA NA
## 227 NA NA NA NA
## 228 NA NA NA NA
## 229 NA NA NA NA
## 230 NA NA NA NA
## 231 NA NA NA NA
## 232 NA NA NA NA
## 233 NA NA NA NA
## 234 NA NA NA NA
## 235 NA NA NA NA
## 236 NA NA NA NA
## 237 NA NA NA NA
## 238 NA NA NA NA
## 239 NA NA NA NA
## 240 NA NA NA NA
## 241 NA NA NA NA
## 242 NA NA NA NA
## 243 NA NA NA NA
## 244 NA NA NA NA
## 245 NA NA NA NA
## 246 NA NA NA NA
## 247 NA NA NA NA
## 248 NA NA NA NA
## 249 NA NA NA NA
## 250 NA NA NA NA
## 251 NA NA NA NA
## 252 3 NA NA NA
## 253 NA NA NA NA
## 254 NA NA NA NA
## 255 NA NA NA NA
## 256 NA NA NA NA
## 257 NA NA NA NA
## 258 NA NA NA NA
## 259 NA NA NA NA
## 260 NA NA NA NA
## 261 NA NA NA NA
## 262 NA NA NA NA
## 263 NA NA NA NA
## 264 NA NA NA NA
## 265 NA NA NA NA
## 266 NA NA NA NA
## 267 NA NA NA NA
## 268 NA NA NA NA
## 269 NA NA NA NA
## 270 NA NA NA NA
## 271 NA NA NA NA
## 272 NA NA NA NA
## 273 NA NA NA NA
## 274 NA NA NA NA
## 275 NA NA NA NA
## 276 NA NA NA NA
## 277 NA NA NA NA
## 278 NA NA NA NA
## 279 NA NA NA NA
## 280 NA NA NA NA
## 281 NA NA NA NA
## 282 NA NA NA NA
## 283 NA NA NA NA
## 284 NA NA NA NA
## 285 NA NA NA NA
## 286 NA NA NA NA
## 287 NA NA NA NA
## 288 NA NA NA NA
## 289 NA NA NA NA
## 290 NA NA NA NA
## 291 NA NA NA NA
## 292 NA NA NA NA
## 293 NA NA NA NA
## 294 NA NA NA NA
## 295 NA NA NA NA
## 296 NA NA NA NA
## 297 NA NA NA NA
## 298 NA NA NA NA
## 299 NA NA NA NA
## 300 NA NA NA NA
## CommunityArea.64 CommunityArea.65 CommunityArea.66 CommunityArea.67
## 1 NA NA NA NA
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## 7 NA NA NA NA
## 8 NA NA NA NA
## 9 NA NA NA NA
## 10 NA NA NA NA
## 11 NA NA NA NA
## 12 NA NA NA NA
## 13 NA NA NA NA
## 14 NA NA NA NA
## 15 NA NA NA NA
## 16 NA NA NA NA
## 17 NA NA NA NA
## 18 NA NA NA NA
## 19 NA NA NA NA
## 20 NA NA NA NA
## 21 NA NA NA NA
## 22 NA NA NA NA
## 23 NA NA NA NA
## 24 NA NA NA NA
## 25 NA NA NA NA
## 26 NA NA NA NA
## 27 NA NA NA NA
## 28 NA NA NA NA
## 29 NA NA NA NA
## 30 NA NA NA NA
## 31 NA NA NA NA
## 32 NA NA NA NA
## 33 NA NA NA NA
## 34 NA NA NA NA
## 35 NA NA NA NA
## 36 NA NA NA NA
## 37 NA NA NA NA
## 38 NA NA NA NA
## 39 NA NA NA NA
## 40 NA NA NA NA
## 41 NA NA NA NA
## 42 NA NA NA NA
## 43 NA NA NA NA
## 44 NA NA NA NA
## 45 NA NA NA NA
## 46 NA NA NA NA
## 47 NA NA NA NA
## 48 NA NA NA NA
## 49 NA NA NA NA
## 50 NA NA NA NA
## 51 NA NA NA NA
## 52 NA NA NA NA
## 53 NA NA NA NA
## 54 NA NA NA NA
## 55 NA NA NA NA
## 56 NA NA NA NA
## 57 NA NA NA NA
## 58 NA NA NA NA
## 59 NA NA NA NA
## 60 NA NA NA NA
## 61 NA NA NA NA
## 62 NA NA NA 8
## 63 NA NA NA NA
## 64 NA NA NA NA
## 65 NA NA NA NA
## 66 NA NA NA NA
## 67 NA NA NA NA
## 68 NA NA NA NA
## 69 NA NA NA NA
## 70 NA NA NA NA
## 71 NA NA NA NA
## 72 NA NA NA NA
## 73 NA NA NA NA
## 74 NA NA NA NA
## 75 NA NA NA NA
## 76 NA NA NA 756
## 77 NA NA NA 445
## 78 NA NA NA 474
## 79 NA NA NA NA
## 80 NA NA NA NA
## 81 NA NA NA 218
## 82 NA NA NA 765
## 83 NA NA NA 521
## 84 NA NA NA NA
## 85 NA NA NA NA
## 86 NA NA NA NA
## 87 NA NA NA 582
## 88 NA NA NA 731
## 89 12 NA NA NA
## 90 382 NA NA NA
## 91 235 342 NA NA
## 92 NA NA NA NA
## 93 NA NA NA NA
## 94 NA NA NA NA
## 95 NA 39 63 NA
## 96 NA 227 1204 NA
## 97 NA NA 371 NA
## 98 NA NA 991 NA
## 99 NA NA 1388 NA
## 100 NA NA 1138 NA
## 101 27 1047 NA NA
## 102 NA NA NA NA
## 103 NA 2 354 NA
## 104 NA NA NA NA
## 105 NA NA NA NA
## 106 NA NA NA NA
## 107 NA NA NA NA
## 108 NA NA NA NA
## 109 NA NA NA NA
## 110 NA NA NA NA
## 111 NA NA NA NA
## 112 NA NA NA NA
## 113 NA NA NA NA
## 114 NA NA NA NA
## 115 NA NA NA NA
## 116 NA NA NA NA
## 117 NA NA NA NA
## 118 NA NA NA NA
## 119 NA NA NA NA
## 120 NA NA NA NA
## 121 NA NA NA NA
## 122 NA NA NA NA
## 123 NA NA NA NA
## 124 NA NA NA NA
## 125 NA NA NA NA
## 126 NA NA NA NA
## 127 NA NA NA NA
## 128 NA NA NA NA
## 129 NA NA NA NA
## 130 NA NA NA NA
## 131 NA NA NA NA
## 132 NA NA NA NA
## 133 NA NA NA NA
## 134 NA NA NA NA
## 135 NA NA NA NA
## 136 NA NA NA NA
## 137 NA NA NA NA
## 138 NA NA NA NA
## 139 NA NA NA NA
## 140 NA NA NA NA
## 141 NA NA NA NA
## 142 NA NA NA NA
## 143 NA NA NA NA
## 144 NA NA NA NA
## 145 NA NA NA NA
## 146 NA NA NA NA
## 147 NA NA NA NA
## 148 NA NA NA NA
## 149 NA NA NA NA
## 150 NA NA NA NA
## 151 NA NA NA NA
## 152 NA NA NA NA
## 153 NA NA NA NA
## 154 NA NA NA NA
## 155 NA NA NA NA
## 156 NA NA NA NA
## 157 NA 1 NA NA
## 158 NA NA NA NA
## 159 NA NA NA NA
## 160 NA NA NA NA
## 161 NA NA NA NA
## 162 NA NA NA NA
## 163 NA NA NA NA
## 164 NA NA NA NA
## 165 NA NA NA NA
## 166 NA NA NA NA
## 167 NA NA NA NA
## 168 NA NA NA NA
## 169 NA NA NA NA
## 170 NA NA NA NA
## 171 NA NA NA NA
## 172 NA NA NA NA
## 173 NA NA NA NA
## 174 NA NA NA NA
## 175 NA NA NA NA
## 176 NA NA NA NA
## 177 NA NA NA NA
## 178 NA NA NA NA
## 179 NA NA NA NA
## 180 NA NA NA NA
## 181 NA NA NA NA
## 182 NA NA NA NA
## 183 NA NA NA NA
## 184 NA NA NA NA
## 185 NA NA NA NA
## 186 NA NA NA NA
## 187 NA NA NA NA
## 188 NA NA NA NA
## 189 NA NA NA NA
## 190 NA NA NA NA
## 191 NA NA NA NA
## 192 NA NA NA NA
## 193 NA NA NA NA
## 194 NA NA NA NA
## 195 NA NA NA NA
## 196 NA NA NA NA
## 197 NA NA NA NA
## 198 NA NA NA NA
## 199 NA NA NA NA
## 200 NA NA NA NA
## 201 NA NA NA NA
## 202 NA NA NA NA
## 203 NA NA NA NA
## 204 NA NA NA NA
## 205 NA NA NA NA
## 206 NA NA NA NA
## 207 NA NA NA NA
## 208 NA NA NA NA
## 209 NA NA NA NA
## 210 NA NA NA NA
## 211 NA NA NA NA
## 212 NA NA NA NA
## 213 NA NA NA NA
## 214 NA NA NA NA
## 215 NA NA NA NA
## 216 NA NA NA NA
## 217 NA NA NA NA
## 218 NA NA NA NA
## 219 NA NA NA NA
## 220 NA NA NA NA
## 221 NA NA NA NA
## 222 NA NA NA NA
## 223 NA NA NA NA
## 224 NA NA NA NA
## 225 NA NA NA NA
## 226 NA NA NA NA
## 227 NA NA NA NA
## 228 NA NA NA NA
## 229 NA NA NA NA
## 230 NA NA NA NA
## 231 NA NA NA NA
## 232 NA NA NA NA
## 233 NA NA NA NA
## 234 NA NA NA NA
## 235 NA NA NA NA
## 236 NA NA NA NA
## 237 NA NA NA NA
## 238 NA NA NA NA
## 239 NA NA NA NA
## 240 NA NA NA NA
## 241 NA NA NA NA
## 242 NA NA NA NA
## 243 NA NA NA NA
## 244 NA NA NA NA
## 245 NA NA NA NA
## 246 NA NA NA NA
## 247 NA NA NA NA
## 248 NA NA NA NA
## 249 NA NA NA NA
## 250 NA NA NA NA
## 251 NA NA NA NA
## 252 NA NA NA NA
## 253 NA NA NA NA
## 254 NA NA NA NA
## 255 NA NA NA NA
## 256 NA NA NA NA
## 257 NA NA NA NA
## 258 NA NA NA NA
## 259 NA NA NA NA
## 260 NA NA NA NA
## 261 NA NA NA NA
## 262 NA NA NA NA
## 263 NA NA NA NA
## 264 NA NA NA NA
## 265 NA NA NA NA
## 266 NA NA NA NA
## 267 NA NA NA NA
## 268 NA NA NA NA
## 269 NA NA NA NA
## 270 NA NA NA NA
## 271 NA NA NA NA
## 272 NA NA NA NA
## 273 NA NA NA NA
## 274 NA NA NA NA
## 275 NA NA NA NA
## 276 NA NA NA NA
## 277 NA NA NA NA
## 278 NA NA NA NA
## 279 NA NA NA NA
## 280 NA NA NA NA
## 281 NA NA NA NA
## 282 NA NA NA NA
## 283 NA NA NA NA
## 284 NA NA NA NA
## 285 NA NA NA NA
## 286 NA NA NA NA
## 287 NA NA NA NA
## 288 NA NA NA NA
## 289 NA NA NA NA
## 290 NA NA NA NA
## 291 NA NA NA NA
## 292 NA NA NA NA
## 293 NA NA NA NA
## 294 NA NA NA NA
## 295 NA NA NA NA
## 296 NA NA NA NA
## 297 NA NA NA NA
## 298 NA NA NA NA
## 299 NA NA NA NA
## 300 NA NA NA NA
## CommunityArea.68 CommunityArea.69 CommunityArea.70 CommunityArea.71
## 1 NA NA NA NA
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## 7 NA NA NA NA
## 8 NA NA NA NA
## 9 NA NA NA NA
## 10 NA NA NA NA
## 11 NA NA NA NA
## 12 NA NA NA NA
## 13 NA NA NA NA
## 14 NA NA NA NA
## 15 NA NA NA NA
## 16 NA NA NA NA
## 17 NA NA NA NA
## 18 NA NA NA NA
## 19 NA NA NA NA
## 20 NA NA NA NA
## 21 NA NA NA NA
## 22 NA NA NA NA
## 23 5 NA NA NA
## 24 NA NA NA NA
## 25 6 NA NA NA
## 26 104 NA NA NA
## 27 NA NA NA NA
## 28 NA NA NA NA
## 29 22 4 NA NA
## 30 NA 196 NA NA
## 31 NA NA NA NA
## 32 NA NA NA NA
## 33 NA 30 NA NA
## 34 NA 732 NA NA
## 35 NA 980 NA NA
## 36 NA 121 NA NA
## 37 NA NA NA NA
## 38 NA NA NA NA
## 39 NA NA NA NA
## 40 NA NA NA NA
## 41 NA 5 NA NA
## 42 NA NA NA NA
## 43 NA NA NA NA
## 44 NA NA NA NA
## 45 NA NA NA NA
## 46 NA NA NA NA
## 47 NA NA NA NA
## 48 NA NA NA NA
## 49 NA NA NA NA
## 50 NA NA NA NA
## 51 NA NA NA NA
## 52 NA NA NA NA
## 53 NA NA NA NA
## 54 NA NA NA NA
## 55 NA NA NA NA
## 56 NA NA NA NA
## 57 NA NA NA NA
## 58 NA NA NA NA
## 59 NA NA NA NA
## 60 NA NA NA NA
## 61 NA NA NA NA
## 62 NA NA NA 616
## 63 NA NA NA 921
## 64 NA NA NA 753
## 65 NA NA 4 611
## 66 30 164 NA 502
## 67 NA NA NA 165
## 68 NA 614 NA NA
## 69 NA 635 NA NA
## 70 NA NA NA NA
## 71 NA NA NA NA
## 72 NA NA NA NA
## 73 NA NA NA NA
## 74 815 NA NA NA
## 75 623 NA NA NA
## 76 NA NA NA NA
## 77 1 NA NA NA
## 78 NA NA NA NA
## 79 555 214 NA NA
## 80 667 NA NA NA
## 81 352 NA NA NA
## 82 NA NA NA NA
## 83 NA NA NA NA
## 84 12 864 NA NA
## 85 522 17 NA NA
## 86 718 NA NA NA
## 87 NA NA NA NA
## 88 NA NA NA NA
## 89 NA NA NA NA
## 90 NA NA NA NA
## 91 NA NA NA NA
## 92 NA NA NA NA
## 93 NA NA NA NA
## 94 NA NA NA NA
## 95 NA NA NA NA
## 96 NA NA NA NA
## 97 NA NA NA NA
## 98 NA NA NA NA
## 99 NA NA NA NA
## 100 NA NA NA NA
## 101 NA NA 102 NA
## 102 NA NA 859 NA
## 103 NA NA 872 NA
## 104 NA NA NA NA
## 105 NA NA NA NA
## 106 NA NA NA NA
## 107 NA NA NA NA
## 108 NA NA NA NA
## 109 NA NA NA NA
## 110 NA NA NA NA
## 111 NA NA NA NA
## 112 NA NA NA NA
## 113 NA NA NA NA
## 114 NA NA NA NA
## 115 NA NA NA NA
## 116 NA NA NA NA
## 117 3 NA NA NA
## 118 NA NA NA NA
## 119 NA NA NA NA
## 120 NA NA NA NA
## 121 NA NA NA NA
## 122 NA NA NA NA
## 123 NA NA NA NA
## 124 NA NA NA NA
## 125 NA NA NA NA
## 126 NA NA NA NA
## 127 NA NA NA NA
## 128 NA NA NA NA
## 129 NA NA NA NA
## 130 NA NA NA NA
## 131 NA NA NA NA
## 132 NA NA NA NA
## 133 NA NA NA NA
## 134 NA NA NA NA
## 135 NA NA NA NA
## 136 NA NA NA NA
## 137 NA NA NA NA
## 138 NA NA NA NA
## 139 NA NA NA NA
## 140 NA NA NA NA
## 141 NA NA NA NA
## 142 NA NA NA NA
## 143 NA NA NA NA
## 144 NA NA NA NA
## 145 NA NA NA NA
## 146 NA NA NA NA
## 147 NA NA NA NA
## 148 NA NA NA NA
## 149 NA NA NA NA
## 150 NA NA NA NA
## 151 NA NA NA NA
## 152 NA NA NA NA
## 153 NA NA NA NA
## 154 NA NA NA NA
## 155 NA NA NA NA
## 156 NA NA NA NA
## 157 NA NA NA NA
## 158 NA NA NA NA
## 159 NA NA NA NA
## 160 NA NA NA NA
## 161 NA NA NA NA
## 162 NA NA NA NA
## 163 NA NA NA NA
## 164 NA NA NA NA
## 165 NA NA NA NA
## 166 NA NA NA NA
## 167 NA NA NA NA
## 168 NA NA NA NA
## 169 NA NA NA NA
## 170 NA NA NA NA
## 171 NA NA NA NA
## 172 NA NA NA NA
## 173 NA NA NA NA
## 174 NA NA NA NA
## 175 NA NA NA NA
## 176 NA NA NA NA
## 177 NA NA NA NA
## 178 NA NA NA NA
## 179 NA NA NA NA
## 180 NA NA NA NA
## 181 NA NA NA NA
## 182 NA NA NA NA
## 183 NA NA NA NA
## 184 NA NA NA NA
## 185 NA NA NA NA
## 186 NA NA NA NA
## 187 NA NA NA NA
## 188 NA NA NA NA
## 189 NA NA NA NA
## 190 NA NA NA NA
## 191 NA NA NA NA
## 192 NA NA NA NA
## 193 NA NA NA NA
## 194 NA NA NA NA
## 195 NA NA NA NA
## 196 NA NA NA NA
## 197 NA NA NA NA
## 198 NA NA NA NA
## 199 NA NA NA NA
## 200 NA NA NA NA
## 201 NA NA NA NA
## 202 NA NA NA NA
## 203 NA NA NA NA
## 204 NA NA NA NA
## 205 NA NA NA NA
## 206 NA NA NA NA
## 207 NA NA NA NA
## 208 NA NA NA NA
## 209 NA NA NA NA
## 210 NA NA NA NA
## 211 NA NA NA NA
## 212 NA NA NA NA
## 213 NA NA NA NA
## 214 NA NA NA NA
## 215 NA NA NA NA
## 216 NA NA NA NA
## 217 NA NA NA NA
## 218 NA NA NA NA
## 219 NA NA NA NA
## 220 NA NA NA NA
## 221 NA NA NA NA
## 222 NA NA NA NA
## 223 NA NA NA NA
## 224 NA NA NA NA
## 225 NA NA NA NA
## 226 NA NA NA NA
## 227 NA NA NA NA
## 228 NA NA NA NA
## 229 NA NA NA NA
## 230 NA NA NA NA
## 231 NA NA NA NA
## 232 NA NA NA NA
## 233 NA NA NA NA
## 234 NA NA NA NA
## 235 NA NA NA NA
## 236 NA NA NA NA
## 237 NA NA NA NA
## 238 NA NA NA NA
## 239 NA NA NA NA
## 240 NA NA NA NA
## 241 NA NA NA NA
## 242 NA NA NA NA
## 243 NA NA NA NA
## 244 NA NA NA NA
## 245 NA NA NA NA
## 246 NA NA NA NA
## 247 NA NA NA NA
## 248 NA NA NA NA
## 249 NA NA NA NA
## 250 NA NA NA NA
## 251 NA NA NA NA
## 252 NA NA NA NA
## 253 NA NA NA NA
## 254 NA NA NA NA
## 255 NA NA NA NA
## 256 NA NA NA NA
## 257 NA NA NA NA
## 258 NA NA NA NA
## 259 NA NA NA NA
## 260 NA NA NA NA
## 261 NA NA NA NA
## 262 NA NA NA 157
## 263 NA NA NA 226
## 264 NA NA NA 220
## 265 NA NA NA NA
## 266 NA NA NA NA
## 267 NA NA NA NA
## 268 NA NA NA NA
## 269 NA NA NA NA
## 270 NA NA NA NA
## 271 NA NA NA NA
## 272 NA NA NA NA
## 273 NA NA NA NA
## 274 NA NA NA NA
## 275 NA NA NA NA
## 276 NA NA NA NA
## 277 NA NA NA NA
## 278 NA NA NA NA
## 279 NA NA NA NA
## 280 NA NA NA NA
## 281 NA NA NA NA
## 282 NA NA NA NA
## 283 NA NA NA NA
## 284 NA NA NA NA
## 285 NA NA NA NA
## 286 NA NA NA NA
## 287 NA NA NA NA
## 288 NA NA NA NA
## 289 NA NA NA NA
## 290 NA NA NA NA
## 291 NA NA NA NA
## 292 NA NA NA NA
## 293 NA NA NA NA
## 294 NA NA NA NA
## 295 NA NA NA NA
## 296 NA NA NA NA
## 297 NA NA NA NA
## 298 NA NA NA NA
## 299 NA NA NA NA
## 300 NA NA NA NA
## CommunityArea.72 CommunityArea.73 CommunityArea.74 CommunityArea.75
## 1 NA NA NA NA
## 2 NA NA NA NA
## 3 NA NA NA NA
## 4 NA NA NA NA
## 5 NA NA NA NA
## 6 NA NA NA NA
## 7 NA NA NA NA
## 8 NA NA NA NA
## 9 NA NA NA NA
## 10 NA NA NA NA
## 11 NA NA NA NA
## 12 NA NA NA NA
## 13 NA NA NA NA
## 14 NA NA NA NA
## 15 NA NA NA NA
## 16 NA NA NA NA
## 17 NA NA NA NA
## 18 NA NA NA NA
## 19 NA NA NA NA
## 20 NA NA NA NA
## 21 NA NA NA NA
## 22 NA NA NA NA
## 23 NA NA NA NA
## 24 NA NA NA NA
## 25 NA NA NA NA
## 26 NA NA NA NA
## 27 NA NA NA NA
## 28 NA NA NA NA
## 29 NA NA NA NA
## 30 NA NA NA NA
## 31 NA NA NA NA
## 32 NA NA NA NA
## 33 NA NA NA NA
## 34 NA NA NA NA
## 35 NA NA NA NA
## 36 NA NA NA NA
## 37 NA NA NA NA
## 38 NA NA NA NA
## 39 NA NA NA NA
## 40 NA NA NA NA
## 41 NA NA NA NA
## 42 NA NA NA NA
## 43 NA NA NA NA
## 44 NA NA NA NA
## 45 NA NA NA NA
## 46 NA NA NA NA
## 47 NA NA NA NA
## 48 NA NA NA NA
## 49 NA NA NA NA
## 50 NA NA NA NA
## 51 NA NA NA NA
## 52 NA NA NA NA
## 53 NA NA NA NA
## 54 NA NA NA NA
## 55 NA NA NA NA
## 56 NA NA NA NA
## 57 NA NA NA NA
## 58 NA NA NA NA
## 59 NA NA NA NA
## 60 NA NA NA NA
## 61 NA NA NA NA
## 62 NA NA NA NA
## 63 NA NA NA NA
## 64 NA NA NA NA
## 65 NA NA NA NA
## 66 NA NA NA NA
## 67 NA NA NA NA
## 68 NA NA NA NA
## 69 NA NA NA NA
## 70 NA NA NA NA
## 71 NA NA NA NA
## 72 NA NA NA NA
## 73 NA NA NA NA
## 74 NA NA NA NA
## 75 NA NA NA NA
## 76 NA NA NA NA
## 77 NA NA NA NA
## 78 NA NA NA NA
## 79 NA NA NA NA
## 80 NA NA NA NA
## 81 NA NA NA NA
## 82 NA NA NA NA
## 83 NA NA NA NA
## 84 NA NA NA NA
## 85 NA NA NA NA
## 86 NA NA NA NA
## 87 NA NA NA NA
## 88 NA NA NA NA
## 89 NA NA NA NA
## 90 NA NA NA NA
## 91 NA NA NA NA
## 92 NA NA NA NA
## 93 NA NA NA NA
## 94 NA NA NA NA
## 95 NA NA NA NA
## 96 NA NA NA NA
## 97 NA NA NA NA
## 98 NA NA NA NA
## 99 NA NA NA NA
## 100 NA NA NA NA
## 101 NA NA NA NA
## 102 NA NA NA NA
## 103 NA NA NA NA
## 104 NA NA NA NA
## 105 NA NA NA NA
## 106 NA NA NA NA
## 107 NA NA NA NA
## 108 NA NA NA NA
## 109 NA NA NA NA
## 110 NA NA NA NA
## 111 NA NA NA NA
## 112 NA NA NA NA
## 113 NA NA NA NA
## 114 NA NA NA NA
## 115 NA NA NA NA
## 116 NA NA NA NA
## 117 NA NA NA NA
## 118 NA NA NA NA
## 119 NA NA NA NA
## 120 NA NA NA NA
## 121 NA NA NA NA
## 122 NA NA NA NA
## 123 NA NA NA NA
## 124 NA NA NA NA
## 125 NA NA NA NA
## 126 NA NA NA NA
## 127 NA NA NA NA
## 128 NA NA NA NA
## 129 NA NA NA NA
## 130 NA NA NA NA
## 131 NA NA NA NA
## 132 NA NA NA NA
## 133 NA NA NA NA
## 134 NA NA NA NA
## 135 NA NA NA NA
## 136 NA NA NA NA
## 137 NA NA NA NA
## 138 NA NA NA NA
## 139 NA NA NA NA
## 140 NA NA NA NA
## 141 NA NA NA NA
## 142 NA NA NA NA
## 143 NA NA NA NA
## 144 NA NA NA NA
## 145 NA NA NA NA
## 146 NA NA NA NA
## 147 NA NA NA NA
## 148 NA NA NA NA
## 149 NA NA NA NA
## 150 NA NA NA NA
## 151 NA NA NA NA
## 152 NA NA NA NA
## 153 NA NA NA NA
## 154 NA NA NA NA
## 155 NA NA NA NA
## 156 NA NA NA NA
## 157 NA NA NA NA
## 158 NA NA NA NA
## 159 NA NA NA NA
## 160 NA NA NA NA
## 161 NA NA NA NA
## 162 NA NA NA NA
## 163 NA NA NA NA
## 164 NA NA NA NA
## 165 NA NA NA NA
## 166 NA NA NA NA
## 167 NA NA NA NA
## 168 NA NA NA NA
## 169 NA NA NA NA
## 170 NA NA NA NA
## 171 NA NA NA NA
## 172 NA NA NA NA
## 173 NA NA NA NA
## 174 NA NA NA NA
## 175 NA NA NA NA
## 176 NA NA NA NA
## 177 NA NA NA NA
## 178 NA NA NA NA
## 179 NA NA NA NA
## 180 NA NA NA NA
## 181 NA NA NA NA
## 182 NA NA NA NA
## 183 NA NA NA NA
## 184 NA NA NA NA
## 185 NA NA NA NA
## 186 NA NA NA NA
## 187 NA NA NA NA
## 188 NA NA NA NA
## 189 NA NA NA NA
## 190 NA NA NA NA
## 191 NA NA NA NA
## 192 NA NA NA NA
## 193 NA NA NA NA
## 194 NA NA NA NA
## 195 NA NA NA NA
## 196 NA NA NA NA
## 197 NA NA NA NA
## 198 NA NA NA NA
## 199 NA NA NA NA
## 200 NA NA NA NA
## 201 NA NA NA NA
## 202 NA NA NA NA
## 203 NA NA NA NA
## 204 NA NA NA NA
## 205 NA NA NA NA
## 206 NA NA NA NA
## 207 NA NA NA NA
## 208 NA NA NA NA
## 209 NA NA NA NA
## 210 NA NA NA NA
## 211 NA NA NA NA
## 212 NA NA NA NA
## 213 NA NA NA NA
## 214 NA NA NA NA
## 215 NA NA NA NA
## 216 NA NA NA NA
## 217 NA NA NA NA
## 218 NA NA NA NA
## 219 NA NA NA NA
## 220 NA NA NA NA
## 221 NA NA NA NA
## 222 NA NA NA NA
## 223 NA NA NA NA
## 224 NA NA NA NA
## 225 NA NA NA NA
## 226 NA NA NA NA
## 227 NA NA NA NA
## 228 NA NA NA NA
## 229 NA NA NA NA
## 230 NA NA NA NA
## 231 NA NA NA NA
## 232 NA NA NA NA
## 233 NA NA NA NA
## 234 NA NA NA NA
## 235 NA NA NA NA
## 236 NA NA NA NA
## 237 NA NA NA NA
## 238 NA NA NA NA
## 239 NA NA NA NA
## 240 NA NA NA NA
## 241 NA NA NA NA
## 242 NA NA NA NA
## 243 NA NA NA NA
## 244 NA NA NA NA
## 245 NA NA NA NA
## 246 NA NA NA NA
## 247 NA NA NA NA
## 248 NA NA NA NA
## 249 NA NA NA NA
## 250 NA NA NA NA
## 251 NA NA NA NA
## 252 NA NA NA NA
## 253 NA NA NA NA
## 254 NA NA NA NA
## 255 NA NA NA NA
## 256 NA NA NA NA
## 257 NA NA NA NA
## 258 NA NA NA NA
## 259 65 NA 117 NA
## 260 152 NA NA 416
## 261 238 168 NA NA
## 262 77 266 NA NA
## 263 NA 445 NA NA
## 264 NA 586 NA NA
## 265 NA 577 NA NA
## 266 NA 37 NA 56
## 267 NA NA NA 570
## 268 NA NA NA NA
## 269 NA NA NA NA
## 270 NA NA NA NA
## 271 NA NA NA NA
## 272 NA NA NA NA
## 273 NA NA NA NA
## 274 NA NA NA NA
## 275 NA NA NA NA
## 276 NA NA NA NA
## 277 NA NA NA NA
## 278 NA NA NA NA
## 279 NA NA NA NA
## 280 NA NA NA NA
## 281 NA NA NA NA
## 282 NA NA NA NA
## 283 NA NA NA NA
## 284 NA NA NA NA
## 285 NA NA NA NA
## 286 NA NA NA NA
## 287 NA NA NA NA
## 288 NA NA NA NA
## 289 NA NA NA NA
## 290 NA NA NA NA
## 291 NA NA NA NA
## 292 NA NA NA NA
## 293 NA NA NA NA
## 294 NA NA NA NA
## 295 NA NA NA NA
## 296 NA NA NA NA
## 297 NA NA NA NA
## 298 NA NA NA NA
## 299 NA NA NA NA
## 300 NA NA NA NA
## CommunityArea.76 CommunityArea.77 CommunityArea.NA
## 1 NA NA 59
## 2 NA NA 22
## 3 NA NA 15
## 4 NA NA NA
## 5 NA NA NA
## 6 NA NA 34
## 7 NA NA 12
## 8 NA NA 28
## 9 NA NA NA
## 10 NA NA 98
## 11 NA NA 99
## 12 NA NA 24
## 13 NA NA NA
## 14 NA NA 69
## 15 NA NA 42
## 16 NA NA 40
## 17 NA NA 39
## 18 NA NA NA
## 19 NA NA 63
## 20 NA NA 45
## 21 NA NA 83
## 22 NA NA 43
## 23 NA NA NA
## 24 NA NA 28
## 25 NA NA 53
## 26 NA NA 62
## 27 NA NA 93
## 28 NA NA NA
## 29 NA NA 49
## 30 NA NA 94
## 31 NA NA 77
## 32 NA NA 74
## 33 NA NA 107
## 34 NA NA 99
## 35 NA NA 148
## 36 NA NA 102
## 37 NA NA 157
## 38 NA NA 108
## 39 NA NA 78
## 40 NA NA 104
## 41 NA NA 93
## 42 NA NA 141
## 43 NA NA 124
## 44 NA NA 166
## 45 NA NA 137
## 46 NA NA 74
## 47 NA NA 149
## 48 NA NA 66
## 49 NA NA 78
## 50 NA NA 80
## 51 NA NA 66
## 52 NA NA 25
## 53 NA NA 173
## 54 NA NA 126
## 55 NA NA 101
## 56 NA NA 88
## 57 NA NA 108
## 58 NA NA 121
## 59 NA NA 81
## 60 NA NA 62
## 61 NA NA 61
## 62 NA NA 112
## 63 NA NA 128
## 64 NA NA 126
## 65 NA NA 90
## 66 NA NA 120
## 67 NA NA 118
## 68 NA NA 167
## 69 NA NA 132
## 70 NA NA 135
## 71 NA NA 168
## 72 NA NA 51
## 73 NA NA 150
## 74 NA NA 60
## 75 NA NA 80
## 76 NA NA 105
## 77 NA NA 68
## 78 NA NA 56
## 79 NA NA 75
## 80 NA NA 111
## 81 NA NA 59
## 82 NA NA 100
## 83 NA NA 70
## 84 NA NA 87
## 85 NA NA 73
## 86 NA NA 110
## 87 NA NA 76
## 88 NA NA 100
## 89 NA NA 69
## 90 NA NA 74
## 91 NA NA 225
## 92 NA NA 75
## 93 NA NA 135
## 94 NA NA 93
## 95 NA NA 142
## 96 NA NA 185
## 97 NA NA 160
## 98 NA NA 159
## 99 NA NA 176
## 100 NA NA 145
## 101 NA NA 263
## 102 NA NA 96
## 103 NA NA 146
## 104 NA NA 174
## 105 NA NA 169
## 106 NA NA 123
## 107 NA NA 144
## 108 NA NA 79
## 109 NA NA 43
## 110 NA NA 102
## 111 NA NA 71
## 112 NA NA 72
## 113 NA NA 52
## 114 NA NA 70
## 115 NA NA 46
## 116 NA NA 30
## 117 NA NA 60
## 118 NA NA 78
## 119 NA NA 71
## 120 NA NA 65
## 121 NA NA 132
## 122 NA NA 55
## 123 NA NA 66
## 124 NA NA 114
## 125 NA NA 70
## 126 NA NA 86
## 127 NA NA 115
## 128 NA NA 88
## 129 NA NA 126
## 130 NA NA 152
## 131 NA NA 106
## 132 NA NA 82
## 133 NA NA 77
## 134 NA NA 38
## 135 NA NA 49
## 136 NA NA 93
## 137 NA NA 98
## 138 NA NA 62
## 139 NA NA 57
## 140 NA NA 25
## 141 NA NA 48
## 142 NA NA 83
## 143 NA NA 101
## 144 NA NA 64
## 145 NA NA 61
## 146 NA NA 109
## 147 NA NA 79
## 148 NA NA 65
## 149 NA NA NA
## 150 NA NA NA
## 151 NA NA NA
## 152 NA NA 45
## 153 NA NA 74
## 154 NA NA 105
## 155 NA NA NA
## 156 NA NA 40
## 157 NA NA 29
## 158 NA NA 60
## 159 NA NA NA
## 160 NA NA NA
## 161 NA NA 103
## 162 NA NA 98
## 163 NA NA 89
## 164 NA NA 44
## 165 NA NA 79
## 166 NA NA 87
## 167 NA NA 66
## 168 NA NA 41
## 169 NA NA 45
## 170 NA NA 128
## 171 NA NA 113
## 172 NA NA 105
## 173 NA NA 98
## 174 NA NA 118
## 175 NA NA 136
## 176 NA NA 99
## 177 NA NA 129
## 178 NA NA 129
## 179 NA NA 101
## 180 NA NA 145
## 181 NA NA 130
## 182 NA NA 80
## 183 NA NA 91
## 184 NA NA 69
## 185 NA NA 103
## 186 NA NA 73
## 187 NA NA 58
## 188 NA NA 75
## 189 NA NA 98
## 190 NA NA 142
## 191 NA NA 44
## 192 NA NA 28
## 193 NA NA 50
## 194 265 NA 93
## 195 NA NA 23
## 196 NA NA 102
## 197 NA NA 97
## 198 NA NA 98
## 199 3 NA 42
## 200 NA NA 70
## 201 NA NA 127
## 202 NA NA 137
## 203 240 NA 116
## 204 56 NA 1
## 205 NA NA 102
## 206 NA NA 121
## 207 NA NA 71
## 208 NA NA 124
## 209 NA NA 127
## 210 NA NA 115
## 211 NA NA 169
## 212 NA NA 205
## 213 NA NA 117
## 214 NA NA 56
## 215 NA NA 36
## 216 NA NA 41
## 217 NA NA 53
## 218 NA NA 49
## 219 NA NA 46
## 220 NA NA 33
## 221 NA NA 42
## 222 NA NA 64
## 223 NA NA 35
## 224 NA NA 19
## 225 NA NA 41
## 226 NA NA 33
## 227 NA NA 53
## 228 NA NA 55
## 229 NA NA NA
## 230 NA NA NA
## 231 NA NA NA
## 232 NA NA 43
## 233 NA NA 67
## 234 NA NA 45
## 235 NA NA NA
## 236 NA NA 46
## 237 NA NA 60
## 238 NA NA 73
## 239 NA NA NA
## 240 NA NA NA
## 241 NA NA 93
## 242 NA 188 32
## 243 NA 329 43
## 244 NA 183 31
## 245 NA 206 31
## 246 NA NA 40
## 247 NA NA 55
## 248 NA NA 37
## 249 NA NA 42
## 250 NA NA 96
## 251 NA NA 78
## 252 NA NA 94
## 253 NA NA 62
## 254 NA NA 69
## 255 NA NA 85
## 256 NA NA 54
## 257 NA NA 97
## 258 NA NA 82
## 259 NA NA 37
## 260 NA NA 140
## 261 NA NA 83
## 262 NA NA 84
## 263 NA NA 113
## 264 NA NA 116
## 265 NA NA 84
## 266 NA NA 97
## 267 NA NA 96
## 268 NA NA 34
## 269 NA NA 47
## 270 NA NA 46
## 271 NA NA 28
## 272 NA NA 50
## 273 NA NA 33
## 274 NA NA 52
## 275 NA NA 43
## 276 NA NA 68
## 277 NA NA 59
## 278 NA NA 105
## 279 NA NA 124
## 280 NA NA 58
## 281 NA NA 60
## 282 NA NA 99
## 283 NA NA 55
## 284 NA NA 86
## 285 NA 501 88
## 286 NA NA 82
## 287 NA NA 237
## 288 NA NA 71
## 289 NA NA 175
## 290 NA NA 155
## 291 NA NA 203
## 292 NA NA 119
## 293 NA NA 158
## 294 NA NA 124
## 295 NA NA 92
## 296 NA NA 112
## 297 NA NA 135
## 298 NA NA 164
## 299 NA NA 154
## 300 NA NA 147
print(CommunityArea_Beat_xtab_df <- mycreate_sqlxtab_df(glb_allobs_df, c("CommunityArea", "Beat")))
## CommunityArea Beat .n
## 1 66 831 1388
## 2 66 823 1204
## 3 19 2514 1197
## 4 19 2521 1176
## 5 58 912 1169
## 6 66 832 1138
## 7 44 632 1060
## 8 65 833 1047
## 9 19 2515 1021
## 10 66 825 991
## 11 2 2413 985
## 12 69 323 980
## 13 49 511 956
## 14 23 2534 952
## 15 44 631 952
## 16 63 911 951
## 17 71 612 921
## 18 43 421 920
## 19 25 1533 910
## 20 63 824 910
## 21 28 1211 882
## 22 53 523 879
## 23 70 835 872
## 24 69 731 864
## 25 70 834 859
## 26 21 2523 854
## 27 23 2535 831
## 28 68 711 815
## 29 19 2512 811
## 30 24 1433 808
## 31 30 1031 805
## 32 15 1634 794
## 33 25 2532 787
## 34 24 1323 775
## 35 67 725 765
## 36 24 1424 762
## 37 25 2533 758
## 38 23 1111 757
## 39 67 713 756
## 40 22 1413 753
## 41 71 613 753
## 42 16 1731 745
## 43 69 322 732
## 44 67 735 731
## 45 57 815 726
## 46 68 733 718
## 47 22 1432 712
## 48 23 1112 712
## 49 61 915 693
## 50 46 423 691
## 51 25 1522 687
## 52 22 1431 686
## 53 23 1121 682
## 54 2 2412 678
## 55 53 524 667
## 56 68 723 667
## 57 22 1414 664
## 58 43 331 664
## 59 19 2522 656
## 60 28 1212 651
## 61 30 1033 651
## 62 15 1624 648
## 63 21 1411 647
## 64 61 931 646
## 65 29 1011 636
## 66 69 624 635
## 67 23 1422 634
## 68 61 914 626
## 69 68 712 623
## 70 25 1531 618
## 71 25 2531 616
## 72 71 611 616
## 73 25 1532 614
## 74 69 623 614
## 75 71 614 611
## 76 15 1633 610
## 77 48 413 606
## 78 51 431 606
## 79 40 234 603
## 80 28 1224 600
## 81 73 2223 586
## 82 42 321 585
## 83 60 923 585
## 84 30 1032 584
## 85 67 734 582
## 86 40 233 578
## 87 25 1511 577
## 88 73 2232 577
## 89 49 513 575
## 90 16 1723 574
## 91 14 1712 572
## 92 75 2234 570
## 93 38 223 566
## 94 16 1722 561
## 95 22 2524 561
## 96 43 414 558
## 97 2 2411 557
## 98 24 1312 555
## 99 68 722 555
## 100 43 332 554
## 101 25 1523 553
## 102 25 1524 553
## 103 31 1233 550
## 104 21 1732 543
## 105 56 814 542
## 106 24 1324 540
## 107 27 1331 540
## 108 16 1724 538
## 109 49 512 538
## 110 43 324 536
## 111 16 1732 530
## 112 14 1713 529
## 113 14 1723 529
## 114 21 1412 522
## 115 68 732 522
## 116 67 726 521
## 117 27 1123 515
## 118 63 822 514
## 119 8 1831 512
## 120 43 334 510
## 121 16 1733 507
## 122 46 422 503
## 123 71 621 502
## 124 24 1434 501
## 125 26 1132 501
## 126 52 432 501
## 127 77 2433 501
## 128 25 1512 500
## 129 41 2132 497
## 130 17 1632 496
## 131 7 1933 493
## 132 30 1013 490
## 133 28 1213 488
## 134 59 913 483
## 135 30 1024 482
## 136 45 412 476
## 137 29 1014 475
## 138 67 715 474
## 139 58 913 473
## 140 46 414 472
## 141 59 922 471
## 142 18 2512 468
## 143 29 1021 468
## 144 38 213 462
## 145 22 2525 461
## 146 53 532 461
## 147 45 411 460
## 148 42 314 459
## 149 24 1313 458
## 150 58 914 453
## 151 1 2424 447
## 152 6 1923 446
## 153 27 1124 446
## 154 29 1012 445
## 155 67 714 445
## 156 73 2222 445
## 157 24 1311 442
## 158 49 2233 440
## 159 49 634 437
## 160 31 1034 436
## 161 31 1223 435
## 162 40 232 432
## 163 13 1711 431
## 164 61 934 431
## 165 46 424 428
## 166 61 932 427
## 167 29 1022 426
## 168 42 313 424
## 169 24 1423 423
## 170 25 1513 420
## 171 39 2124 417
## 172 25 2513 416
## 173 75 2212 416
## 174 60 924 413
## 175 56 811 410
## 176 53 522 408
## 177 6 1932 407
## 178 44 634 406
## 179 27 1133 405
## 180 38 222 395
## 181 5 1912 394
## 182 6 1924 393
## 183 26 1122 393
## 184 58 821 393
## 185 20 2522 390
## 186 35 211 389
## 187 27 1134 388
## 188 43 333 387
## 189 49 531 386
## 190 41 2133 384
## 191 21 1733 383
## 192 7 1814 382
## 193 19 2511 382
## 194 64 812 382
## 195 8 1824 379
## 196 39 2123 379
## 197 61 933 379
## 198 31 1222 378
## 199 1 2432 377
## 200 4 2011 377
## 201 11 1622 375
## 202 35 2112 375
## 203 44 623 375
## 204 41 2131 374
## 205 26 1115 372
## 206 8 1822 371
## 207 22 1434 371
## 208 66 824 371
## 209 48 412 359
## 210 7 1812 357
## 211 28 1333 355
## 212 66 835 354
## 213 68 724 352
## 214 1 2423 351
## 215 7 1811 351
## 216 44 622 350
## 217 38 221 346
## 218 54 533 346
## 219 42 312 345
## 220 65 813 342
## 221 40 311 337
## 222 17 1631 335
## 223 44 633 335
## 224 28 131 334
## 225 26 1113 333
## 226 26 1114 333
## 227 38 224 332
## 228 62 822 332
## 229 37 935 330
## 230 77 2013 329
## 231 22 1411 328
## 232 28 1332 327
## 233 38 214 325
## 234 4 2031 320
## 235 20 2524 320
## 236 62 815 318
## 237 17 1633 317
## 238 22 1421 317
## 239 33 134 311
## 240 1 2422 308
## 241 25 1113 307
## 242 5 1913 305
## 243 35 2122 303
## 244 8 1832 301
## 245 4 1911 300
## 246 2 2011 299
## 247 32 132 298
## 248 61 921 297
## 249 8 1834 293
## 250 24 1322 292
## 251 6 2331 291
## 252 8 1821 289
## 253 11 1623 287
## 254 6 2332 279
## 255 23 1122 275
## 256 44 624 274
## 257 7 2333 273
## 258 15 1731 272
## 259 3 2024 269
## 260 30 1034 268
## 261 7 1813 267
## 262 50 511 267
## 263 73 2221 266
## 264 76 1614 265
## 265 26 1131 264
## 266 NA 833 263
## 267 13 1712 263
## 268 27 1135 262
## 269 18 2511 259
## 270 56 815 256
## 271 61 935 255
## 272 22 1412 253
## 273 20 2534 249
## 274 35 2113 248
## 275 49 522 244
## 276 55 433 244
## 277 1 2431 243
## 278 20 2525 242
## 279 28 1135 242
## 280 28 1232 241
## 281 76 1651 240
## 282 14 1724 238
## 283 72 2213 238
## 284 NA 2512 237
## 285 33 132 237
## 286 64 813 235
## 287 3 2311 232
## 288 15 1623 230
## 289 35 212 228
## 290 65 823 227
## 291 48 423 226
## 292 71 2222 226
## 293 NA 813 225
## 294 43 411 224
## 295 56 813 223
## 296 28 1231 222
## 297 62 813 221
## 298 71 2223 220
## 299 25 1131 219
## 300 57 821 219
## 301 3 2033 218
## 302 67 724 218
## 303 3 2322 217
## 304 28 111 217
## 305 69 722 214
## 306 15 1622 212
## 307 34 2111 209
## 308 58 911 209
## 309 29 1023 206
## 310 34 2113 206
## 311 77 2023 206
## 312 NA 1732 205
## 313 29 1133 204
## 314 51 434 204
## 315 NA 2521 203
## 316 6 2324 202
## 317 7 1931 202
## 318 36 2122 201
## 319 3 2312 199
## 320 8 1823 197
## 321 10 1613 196
## 322 69 312 196
## 323 20 2523 195
## 324 26 1133 193
## 325 29 1013 192
## 326 39 2132 192
## 327 77 2012 188
## 328 24 1421 187
## 329 NA 823 185
## 330 77 2022 183
## 331 14 1722 181
## 332 22 1422 179
## 333 49 633 178
## 334 NA 831 176
## 335 NA 2514 175
## 336 NA 911 174
## 337 3 2313 174
## 338 32 131 174
## 339 NA 511 173
## 340 33 133 173
## 341 6 2333 170
## 342 50 531 170
## 343 NA 912 169
## 344 NA 1731 169
## 345 NA 632 168
## 346 73 2213 168
## 347 NA 623 167
## 348 NA 414 166
## 349 71 622 165
## 350 NA 2533 164
## 351 47 413 164
## 352 69 621 164
## 353 3 1922 161
## 354 NA 824 160
## 355 30 1023 160
## 356 NA 825 159
## 357 NA 2523 158
## 358 46 412 158
## 359 NA 331 157
## 360 71 2221 157
## 361 NA 2515 155
## 362 22 2535 155
## 363 NA 2534 154
## 364 NA 1034 152
## 365 72 2212 152
## 366 NA 634 150
## 367 NA 423 149
## 368 50 512 149
## 369 NA 323 148
## 370 23 2533 148
## 371 NA 2535 147
## 372 38 231 147
## 373 NA 835 146
## 374 23 1313 146
## 375 NA 832 145
## 376 NA 1433 145
## 377 NA 914 144
## 378 NA 822 142
## 379 NA 1533 142
## 380 NA 412 141
## 381 NA 2212 140
## 382 20 2521 139
## 383 34 924 139
## 384 36 2123 139
## 385 30 1022 138
## 386 NA 421 137
## 387 NA 1634 137
## 388 3 2032 137
## 389 NA 1422 136
## 390 4 2012 136
## 391 NA 631 135
## 392 NA 815 135
## 393 NA 2532 135
## 394 23 1421 134
## 395 29 1134 133
## 396 NA 624 132
## 397 NA 1013 132
## 398 4 2032 132
## 399 5 1923 131
## 400 25 1111 131
## 401 41 2124 131
## 402 NA 1434 130
## 403 NA 1424 129
## 404 NA 1431 129
## 405 NA 612 128
## 406 NA 1411 128
## 407 60 925 128
## 408 NA 1633 127
## 409 NA 1723 127
## 410 3 2323 127
## 411 6 1931 127
## 412 NA 512 126
## 413 NA 613 126
## 414 NA 1033 126
## 415 NA 413 124
## 416 NA 1722 124
## 417 NA 2413 124
## 418 NA 2524 124
## 419 29 1024 124
## 420 NA 913 123
## 421 NA 524 121
## 422 NA 1712 121
## 423 27 1125 121
## 424 69 324 121
## 425 NA 621 120
## 426 6 1922 120
## 427 10 1611 120
## 428 63 915 120
## 429 NA 2522 119
## 430 NA 622 118
## 431 NA 1421 118
## 432 32 124 118
## 433 NA 1733 117
## 434 37 934 117
## 435 74 2211 117
## 436 NA 1651 116
## 437 NA 2223 116
## 438 NA 1031 115
## 439 NA 1724 115
## 440 NA 1022 114
## 441 32 113 114
## 442 NA 1412 113
## 443 NA 2222 113
## 444 NA 611 112
## 445 NA 2531 112
## 446 6 2323 112
## 447 NA 723 111
## 448 NA 733 110
## 449 NA 1211 109
## 450 8 1833 109
## 451 63 923 109
## 452 NA 332 108
## 453 NA 523 108
## 454 12 1621 108
## 455 NA 321 107
## 456 32 122 107
## 457 NA 1111 106
## 458 NA 713 105
## 459 NA 1224 105
## 460 NA 1413 105
## 461 NA 2412 105
## 462 NA 334 104
## 463 68 233 104
## 464 NA 1311 103
## 465 NA 1522 103
## 466 19 2533 103
## 467 25 2512 103
## 468 29 1132 103
## 469 NA 324 102
## 470 NA 922 102
## 471 NA 1622 102
## 472 NA 1711 102
## 473 70 833 102
## 474 NA 513 101
## 475 NA 1133 101
## 476 NA 1432 101
## 477 NA 725 100
## 478 NA 735 100
## 479 NA 132 99
## 480 NA 322 99
## 481 NA 1423 99
## 482 NA 2424 99
## 483 NA 131 98
## 484 NA 1122 98
## 485 NA 1312 98
## 486 NA 1414 98
## 487 NA 1532 98
## 488 NA 1624 98
## 489 32 112 98
## 490 NA 1623 97
## 491 NA 2132 97
## 492 NA 2233 97
## 493 NA 834 96
## 494 NA 2111 96
## 495 NA 2234 96
## 496 22 1433 96
## 497 32 123 96
## 498 NA 312 94
## 499 NA 2113 94
## 500 NA 234 93
## 501 NA 411 93
## 502 NA 821 93
## 503 NA 1121 93
## 504 NA 1614 93
## 505 NA 2011 93
## 506 NA 2525 92
## 507 NA 1512 91
## 508 NA 614 90
## 509 NA 1313 89
## 510 NA 522 88
## 511 NA 1032 88
## 512 NA 2433 88
## 513 NA 731 87
## 514 NA 1324 87
## 515 NA 1024 86
## 516 NA 2432 86
## 517 NA 2124 85
## 518 NA 2221 84
## 519 NA 2232 84
## 520 4 1922 84
## 521 NA 223 83
## 522 NA 1132 83
## 523 NA 2213 83
## 524 58 922 83
## 525 NA 1112 82
## 526 NA 2133 82
## 527 NA 2511 82
## 528 NA 531 81
## 529 29 1135 81
## 530 NA 432 80
## 531 NA 712 80
## 532 NA 1511 80
## 533 5 1931 80
## 534 NA 915 79
## 535 NA 1212 79
## 536 NA 1323 79
## 537 15 1722 79
## 538 NA 333 78
## 539 NA 431 78
## 540 NA 935 78
## 541 NA 2112 78
## 542 20 2535 78
## 543 23 1311 78
## 544 NA 313 77
## 545 NA 1113 77
## 546 23 1123 77
## 547 34 925 77
## 548 60 922 77
## 549 72 2221 77
## 550 NA 734 76
## 551 10 1612 76
## 552 44 621 76
## 553 NA 722 75
## 554 NA 814 75
## 555 NA 1531 75
## 556 52 433 75
## 557 NA 314 74
## 558 NA 422 74
## 559 NA 812 74
## 560 NA 1223 74
## 561 NA 732 73
## 562 NA 1523 73
## 563 NA 1933 73
## 564 59 912 73
## 565 NA 924 72
## 566 NA 923 71
## 567 NA 1011 71
## 568 NA 1713 71
## 569 NA 2513 71
## 570 28 1125 71
## 571 NA 726 70
## 572 NA 931 70
## 573 NA 1023 70
## 574 NA 1632 70
## 575 63 821 70
## 576 NA 211 69
## 577 NA 811 69
## 578 NA 1513 69
## 579 NA 2123 69
## 580 NA 714 68
## 581 NA 2333 68
## 582 12 1623 68
## 583 NA 1923 67
## 584 34 923 67
## 585 NA 424 66
## 586 NA 433 66
## 587 NA 1021 66
## 588 NA 1331 66
## 589 42 2133 66
## 590 NA 1012 65
## 591 NA 1213 65
## 592 72 2211 65
## 593 NA 1134 64
## 594 NA 1831 64
## 595 37 925 64
## 596 NA 221 63
## 597 66 822 63
## 598 NA 233 62
## 599 NA 532 62
## 600 NA 1123 62
## 601 NA 2122 62
## 602 NA 533 61
## 603 NA 1135 61
## 604 NA 711 60
## 605 NA 934 60
## 606 NA 1233 60
## 607 NA 1932 60
## 608 NA 2423 60
## 609 7 1935 60
## 610 10 1622 60
## 611 12 1711 60
## 612 34 914 60
## 613 58 921 60
## 614 NA 111 59
## 615 NA 724 59
## 616 NA 2411 59
## 617 3 1915 59
## 618 NA 1524 58
## 619 NA 2422 58
## 620 NA 1124 57
## 621 17 2511 57
## 622 NA 715 56
## 623 NA 1811 56
## 624 5 1924 56
## 625 75 2233 56
## 626 76 1654 56
## 627 NA 1014 55
## 628 NA 1913 55
## 629 NA 2031 55
## 630 NA 2431 55
## 631 NA 2131 54
## 632 9 1611 54
## 633 NA 232 53
## 634 NA 1814 53
## 635 NA 1912 53
## 636 NA 925 52
## 637 NA 2331 52
## 638 5 1922 52
## 639 20 2533 52
## 640 49 2232 52
## 641 NA 633 51
## 642 NA 1613 50
## 643 NA 2323 50
## 644 NA 311 49
## 645 NA 1115 49
## 646 NA 1821 49
## 647 3 1914 49
## 648 45 414 49
## 649 NA 1131 48
## 650 42 331 48
## 651 61 925 48
## 652 NA 2312 47
## 653 NA 932 46
## 654 NA 1822 46
## 655 NA 1931 46
## 656 NA 2313 46
## 657 NA 222 45
## 658 NA 1222 45
## 659 NA 1333 45
## 660 NA 1924 45
## 661 61 924 45
## 662 NA 1322 44
## 663 NA 1611 44
## 664 6 1925 44
## 665 NA 224 43
## 666 NA 921 43
## 667 NA 1922 43
## 668 NA 2013 43
## 669 NA 2332 43
## 670 NA 212 42
## 671 NA 1631 42
## 672 NA 1824 42
## 673 NA 2033 42
## 674 NA 1332 41
## 675 NA 1813 41
## 676 NA 1834 41
## 677 50 513 41
## 678 NA 213 40
## 679 NA 1231 40
## 680 NA 2024 40
## 681 39 222 40
## 682 NA 214 39
## 683 28 1023 39
## 684 28 1222 39
## 685 31 1023 39
## 686 35 133 39
## 687 36 212 39
## 688 37 232 39
## 689 65 822 39
## 690 NA 1114 38
## 691 54 532 38
## 692 60 913 38
## 693 NA 2032 37
## 694 NA 2211 37
## 695 27 1122 37
## 696 73 2233 37
## 697 NA 1812 36
## 698 NA 1832 35
## 699 29 1131 35
## 700 33 131 35
## 701 NA 122 34
## 702 NA 2311 34
## 703 6 1933 34
## 704 60 915 34
## 705 NA 1823 33
## 706 NA 1911 33
## 707 NA 2324 33
## 708 40 231 33
## 709 NA 2012 32
## 710 NA 2022 31
## 711 NA 2023 31
## 712 5 1921 31
## 713 41 235 31
## 714 NA 933 30
## 715 33 2112 30
## 716 68 621 30
## 717 69 321 30
## 718 NA 1232 29
## 719 43 321 29
## 720 NA 124 28
## 721 NA 231 28
## 722 NA 1612 28
## 723 NA 2322 28
## 724 41 331 28
## 725 64 833 27
## 726 37 231 26
## 727 NA 434 25
## 728 NA 1125 25
## 729 32 111 25
## 730 NA 133 24
## 731 6 1934 24
## 732 9 1612 24
## 733 40 225 24
## 734 NA 1621 23
## 735 13 1713 23
## 736 NA 112 22
## 737 3 1913 22
## 738 5 1911 22
## 739 11 1621 22
## 740 34 915 22
## 741 68 311 22
## 742 10 1614 21
## 743 31 1235 20
## 744 41 234 20
## 745 46 421 20
## 746 47 412 20
## 747 NA 1833 19
## 748 38 215 19
## 749 6 1912 18
## 750 7 1932 17
## 751 21 1432 17
## 752 60 914 17
## 753 69 732 17
## 754 3 1912 16
## 755 NA 113 15
## 756 31 922 15
## 757 39 221 14
## 758 37 221 13
## 759 41 233 13
## 760 NA 123 12
## 761 28 121 12
## 762 34 211 12
## 763 39 223 12
## 764 55 434 12
## 765 64 811 12
## 766 68 731 12
## 767 7 1913 11
## 768 28 124 11
## 769 2 2433 10
## 770 24 1213 10
## 771 28 1331 10
## 772 30 913 10
## 773 11 1611 9
## 774 31 1234 9
## 775 51 413 9
## 776 17 1614 8
## 777 28 1225 8
## 778 33 2113 8
## 779 67 611 8
## 780 28 1223 7
## 781 46 411 7
## 782 62 821 7
## 783 4 1912 6
## 784 32 133 6
## 785 32 1831 6
## 786 35 213 6
## 787 37 224 6
## 788 59 911 6
## 789 68 232 6
## 790 24 1211 5
## 791 24 1214 5
## 792 24 1215 5
## 793 32 114 5
## 794 33 2122 5
## 795 36 214 5
## 796 47 633 5
## 797 51 513 5
## 798 68 225 5
## 799 69 411 5
## 800 24 1221 4
## 801 28 1215 4
## 802 31 913 4
## 803 37 214 4
## 804 51 532 4
## 805 63 931 4
## 806 69 311 4
## 807 70 614 4
## 808 24 1212 3
## 809 24 1332 3
## 810 42 235 3
## 811 48 424 3
## 812 60 2113 3
## 813 68 934 3
## 814 76 1631 3
## 815 0 124 2
## 816 28 1214 2
## 817 30 911 2
## 818 33 2111 2
## 819 34 134 2
## 820 37 215 2
## 821 37 225 2
## 822 44 412 2
## 823 59 923 2
## 824 63 932 2
## 825 65 835 2
## 826 NA 1654 1
## 827 3 1925 1
## 828 5 1654 1
## 829 23 1211 1
## 830 23 1221 1
## 831 24 735 1
## 832 24 1333 1
## 833 25 2511 1
## 834 27 1222 1
## 835 28 133 1
## 836 28 1233 1
## 837 30 821 1
## 838 31 923 1
## 839 32 130 1
## 840 37 213 1
## 841 41 314 1
## 842 42 2132 1
## 843 43 322 1
## 844 43 832 1
## 845 49 2223 1
## 846 51 433 1
## 847 51 512 1
## 848 51 531 1
## 849 53 2212 1
## 850 56 812 1
## 851 56 1031 1
## 852 60 912 1
## 853 61 922 1
## 854 65 1232 1
## 855 68 714 1
print(subset(CommunityArea_Beat_xtab_df, is.na(CommunityArea)))
## CommunityArea Beat .n
## 266 NA 833 263
## 284 NA 2512 237
## 293 NA 813 225
## 312 NA 1732 205
## 315 NA 2521 203
## 329 NA 823 185
## 334 NA 831 176
## 335 NA 2514 175
## 336 NA 911 174
## 339 NA 511 173
## 343 NA 912 169
## 344 NA 1731 169
## 345 NA 632 168
## 347 NA 623 167
## 348 NA 414 166
## 350 NA 2533 164
## 354 NA 824 160
## 356 NA 825 159
## 357 NA 2523 158
## 359 NA 331 157
## 361 NA 2515 155
## 363 NA 2534 154
## 364 NA 1034 152
## 366 NA 634 150
## 367 NA 423 149
## 369 NA 323 148
## 371 NA 2535 147
## 373 NA 835 146
## 375 NA 832 145
## 376 NA 1433 145
## 377 NA 914 144
## 378 NA 822 142
## 379 NA 1533 142
## 380 NA 412 141
## 381 NA 2212 140
## 386 NA 421 137
## 387 NA 1634 137
## 389 NA 1422 136
## 391 NA 631 135
## 392 NA 815 135
## 393 NA 2532 135
## 396 NA 624 132
## 397 NA 1013 132
## 402 NA 1434 130
## 403 NA 1424 129
## 404 NA 1431 129
## 405 NA 612 128
## 406 NA 1411 128
## 408 NA 1633 127
## 409 NA 1723 127
## 412 NA 512 126
## 413 NA 613 126
## 414 NA 1033 126
## 415 NA 413 124
## 416 NA 1722 124
## 417 NA 2413 124
## 418 NA 2524 124
## 420 NA 913 123
## 421 NA 524 121
## 422 NA 1712 121
## 425 NA 621 120
## 429 NA 2522 119
## 430 NA 622 118
## 431 NA 1421 118
## 433 NA 1733 117
## 436 NA 1651 116
## 437 NA 2223 116
## 438 NA 1031 115
## 439 NA 1724 115
## 440 NA 1022 114
## 442 NA 1412 113
## 443 NA 2222 113
## 444 NA 611 112
## 445 NA 2531 112
## 447 NA 723 111
## 448 NA 733 110
## 449 NA 1211 109
## 452 NA 332 108
## 453 NA 523 108
## 455 NA 321 107
## 457 NA 1111 106
## 458 NA 713 105
## 459 NA 1224 105
## 460 NA 1413 105
## 461 NA 2412 105
## 462 NA 334 104
## 464 NA 1311 103
## 465 NA 1522 103
## 469 NA 324 102
## 470 NA 922 102
## 471 NA 1622 102
## 472 NA 1711 102
## 474 NA 513 101
## 475 NA 1133 101
## 476 NA 1432 101
## 477 NA 725 100
## 478 NA 735 100
## 479 NA 132 99
## 480 NA 322 99
## 481 NA 1423 99
## 482 NA 2424 99
## 483 NA 131 98
## 484 NA 1122 98
## 485 NA 1312 98
## 486 NA 1414 98
## 487 NA 1532 98
## 488 NA 1624 98
## 490 NA 1623 97
## 491 NA 2132 97
## 492 NA 2233 97
## 493 NA 834 96
## 494 NA 2111 96
## 495 NA 2234 96
## 498 NA 312 94
## 499 NA 2113 94
## 500 NA 234 93
## 501 NA 411 93
## 502 NA 821 93
## 503 NA 1121 93
## 504 NA 1614 93
## 505 NA 2011 93
## 506 NA 2525 92
## 507 NA 1512 91
## 508 NA 614 90
## 509 NA 1313 89
## 510 NA 522 88
## 511 NA 1032 88
## 512 NA 2433 88
## 513 NA 731 87
## 514 NA 1324 87
## 515 NA 1024 86
## 516 NA 2432 86
## 517 NA 2124 85
## 518 NA 2221 84
## 519 NA 2232 84
## 521 NA 223 83
## 522 NA 1132 83
## 523 NA 2213 83
## 525 NA 1112 82
## 526 NA 2133 82
## 527 NA 2511 82
## 528 NA 531 81
## 530 NA 432 80
## 531 NA 712 80
## 532 NA 1511 80
## 534 NA 915 79
## 535 NA 1212 79
## 536 NA 1323 79
## 538 NA 333 78
## 539 NA 431 78
## 540 NA 935 78
## 541 NA 2112 78
## 544 NA 313 77
## 545 NA 1113 77
## 550 NA 734 76
## 553 NA 722 75
## 554 NA 814 75
## 555 NA 1531 75
## 557 NA 314 74
## 558 NA 422 74
## 559 NA 812 74
## 560 NA 1223 74
## 561 NA 732 73
## 562 NA 1523 73
## 563 NA 1933 73
## 565 NA 924 72
## 566 NA 923 71
## 567 NA 1011 71
## 568 NA 1713 71
## 569 NA 2513 71
## 571 NA 726 70
## 572 NA 931 70
## 573 NA 1023 70
## 574 NA 1632 70
## 576 NA 211 69
## 577 NA 811 69
## 578 NA 1513 69
## 579 NA 2123 69
## 580 NA 714 68
## 581 NA 2333 68
## 583 NA 1923 67
## 585 NA 424 66
## 586 NA 433 66
## 587 NA 1021 66
## 588 NA 1331 66
## 590 NA 1012 65
## 591 NA 1213 65
## 593 NA 1134 64
## 594 NA 1831 64
## 596 NA 221 63
## 598 NA 233 62
## 599 NA 532 62
## 600 NA 1123 62
## 601 NA 2122 62
## 602 NA 533 61
## 603 NA 1135 61
## 604 NA 711 60
## 605 NA 934 60
## 606 NA 1233 60
## 607 NA 1932 60
## 608 NA 2423 60
## 614 NA 111 59
## 615 NA 724 59
## 616 NA 2411 59
## 618 NA 1524 58
## 619 NA 2422 58
## 620 NA 1124 57
## 622 NA 715 56
## 623 NA 1811 56
## 627 NA 1014 55
## 628 NA 1913 55
## 629 NA 2031 55
## 630 NA 2431 55
## 631 NA 2131 54
## 633 NA 232 53
## 634 NA 1814 53
## 635 NA 1912 53
## 636 NA 925 52
## 637 NA 2331 52
## 641 NA 633 51
## 642 NA 1613 50
## 643 NA 2323 50
## 644 NA 311 49
## 645 NA 1115 49
## 646 NA 1821 49
## 649 NA 1131 48
## 652 NA 2312 47
## 653 NA 932 46
## 654 NA 1822 46
## 655 NA 1931 46
## 656 NA 2313 46
## 657 NA 222 45
## 658 NA 1222 45
## 659 NA 1333 45
## 660 NA 1924 45
## 662 NA 1322 44
## 663 NA 1611 44
## 665 NA 224 43
## 666 NA 921 43
## 667 NA 1922 43
## 668 NA 2013 43
## 669 NA 2332 43
## 670 NA 212 42
## 671 NA 1631 42
## 672 NA 1824 42
## 673 NA 2033 42
## 674 NA 1332 41
## 675 NA 1813 41
## 676 NA 1834 41
## 678 NA 213 40
## 679 NA 1231 40
## 680 NA 2024 40
## 682 NA 214 39
## 690 NA 1114 38
## 693 NA 2032 37
## 694 NA 2211 37
## 697 NA 1812 36
## 698 NA 1832 35
## 701 NA 122 34
## 702 NA 2311 34
## 705 NA 1823 33
## 706 NA 1911 33
## 707 NA 2324 33
## 709 NA 2012 32
## 710 NA 2022 31
## 711 NA 2023 31
## 714 NA 933 30
## 718 NA 1232 29
## 720 NA 124 28
## 721 NA 231 28
## 722 NA 1612 28
## 723 NA 2322 28
## 727 NA 434 25
## 728 NA 1125 25
## 730 NA 133 24
## 734 NA 1621 23
## 736 NA 112 22
## 747 NA 1833 19
## 755 NA 113 15
## 760 NA 123 12
## 826 NA 1654 1
print(subset(CommunityArea_Beat_xtab_df, Beat == 833))
## CommunityArea Beat .n
## 8 65 833 1047
## 266 NA 833 263
## 473 70 833 102
## 725 64 833 27
# print(<col1_name>_<col2_name>_xtab_glb_trnobs_df <-
# mycreate_xtab_df(glb_trnobs_df, c("<col1_name>", "<col2_name>")))
# <col1_name>_<col2_name>_xtab_glb_trnobs_df[is.na(<col1_name>_<col2_name>_xtab_glb_trnobs_df)] <- 0
# print(<col1_name>_<col2_name>_xtab_glb_trnobs_df <-
# mutate(<col1_name>_<col2_name>_xtab_glb_trnobs_df,
# <col3_name>=(<col1_name> * 1.0) / (<col1_name> + <col2_name>)))
# print(<col2_name>_min_entity_arr <-
# sort(tapply(glb_trnobs_df$<col1_name>, glb_trnobs_df$<col2_name>, min, na.rm=TRUE)))
# print(<col1_name>_na_by_<col2_name>_arr <-
# sort(tapply(glb_trnobs_df$<col1_name>.NA, glb_trnobs_df$<col2_name>, mean, na.rm=TRUE)))
# Other plots:
# print(myplot_box(df=glb_trnobs_df, ycol_names="<col1_name>"))
# print(myplot_box(df=glb_trnobs_df, ycol_names="<col1_name>", xcol_name="<col2_name>"))
# print(myplot_line(subset(glb_trnobs_df, Symbol %in% c("KO", "PG")),
# "Date.my", "StockPrice", facet_row_colnames="Symbol") +
# geom_vline(xintercept=as.numeric(as.Date("2003-03-01"))) +
# geom_vline(xintercept=as.numeric(as.Date("1983-01-01")))
# )
# print(myplot_scatter(glb_allobs_df, "<col1_name>", "<col2_name>", smooth=TRUE))
# print(myplot_scatter(glb_allobs_df, "<col1_name>", "<col2_name>", colorcol_name="<Pred.fctr>") +
# geom_point(data=subset(glb_allobs_df, <condition>),
# mapping=aes(x=<x_var>, y=<y_var>), color="red", shape=4, size=5))
rm(srt_allobs_df, last1, last10, last100, pd)
## Warning in rm(srt_allobs_df, last1, last10, last100, pd): object
## 'srt_allobs_df' not found
## Warning in rm(srt_allobs_df, last1, last10, last100, pd): object 'pd' not
## found
glb_chunks_df <- myadd_chunk(glb_chunks_df, "cleanse.data", major.inc=FALSE)
## label step_major step_minor bgn end elapsed
## 2 inspect.data 2 0 15.445 109.868 94.423
## 3 cleanse.data 2 1 109.869 NA NA
2.1: cleanse data# Options:
# 1. Not fill missing vars
# 2. Fill missing numerics with a different algorithm
# 3. Fill missing chars with data based on clusters
mycheck_problem_data(glb_allobs_df)
## [1] "numeric data missing in : "
## District CommunityArea Latitude Longitude
## 43056 24616 2276 2276
## [1] "numeric data w/ 0s in : "
## Arrest Domestic CommunityArea Date.wkday.fctr
## 176105 191226 2 26316
## Date.wkend Date.second.fctr Date.last1.log Date.last10.log
## 137849 191641 59966 11
## Date.last100.log
## 100
## [1] "numeric data w/ Infs in : "
## named integer(0)
## [1] "numeric data w/ NaNs in : "
## named integer(0)
## [1] "string data missing in : "
## Date LocationDescription LocationDescription.my
## 0 0 0
if (!is.null(glb_force_0_to_NA_vars)) {
for (feat in glb_force_0_to_NA_vars) {
warning("Forcing ", sum(glb_allobs_df[, feat] == 0),
" obs with ", feat, " 0s to NAs")
glb_allobs_df[glb_allobs_df[, feat] == 0, feat] <- NA
}
}
mycheck_problem_data(glb_allobs_df)
## [1] "numeric data missing in : "
## District CommunityArea Latitude Longitude
## 43056 24616 2276 2276
## [1] "numeric data w/ 0s in : "
## Arrest Domestic CommunityArea Date.wkday.fctr
## 176105 191226 2 26316
## Date.wkend Date.second.fctr Date.last1.log Date.last10.log
## 137849 191641 59966 11
## Date.last100.log
## 100
## [1] "numeric data w/ Infs in : "
## named integer(0)
## [1] "numeric data w/ NaNs in : "
## named integer(0)
## [1] "string data missing in : "
## Date LocationDescription LocationDescription.my
## 0 0 0
dsp_catgs <- function() {
print("NewsDesk:")
print(table(glb_allobs_df$NewsDesk))
print("SectionName:")
print(table(glb_allobs_df$SectionName))
print("SubsectionName:")
print(table(glb_allobs_df$SubsectionName))
}
sel_obs <- function(Popular=NULL,
NewsDesk=NULL, SectionName=NULL, SubsectionName=NULL,
Headline.contains=NULL, Snippet.contains=NULL, Abstract.contains=NULL,
Headline.pfx=NULL, NewsDesk.nb=NULL, .clusterid=NULL, myCategory=NULL,
perl=FALSE) {
tmp_df <- glb_allobs_df
# Does not work for Popular == NAs ???
if (!is.null(Popular)) {
if (is.na(Popular))
tmp_df <- tmp_df[is.na(tmp_df$Popular), ] else
tmp_df <- tmp_df[tmp_df$Popular == Popular, ]
}
if (!is.null(NewsDesk))
tmp_df <- tmp_df[tmp_df$NewsDesk == NewsDesk, ]
if (!is.null(SectionName))
tmp_df <- tmp_df[tmp_df$SectionName == SectionName, ]
if (!is.null(SubsectionName))
tmp_df <- tmp_df[tmp_df$SubsectionName == SubsectionName, ]
if (!is.null(Headline.contains))
tmp_df <-
tmp_df[grep(Headline.contains, tmp_df$Headline, perl=perl), ]
if (!is.null(Snippet.contains))
tmp_df <-
tmp_df[grep(Snippet.contains, tmp_df$Snippet, perl=perl), ]
if (!is.null(Abstract.contains))
tmp_df <-
tmp_df[grep(Abstract.contains, tmp_df$Abstract, perl=perl), ]
if (!is.null(Headline.pfx)) {
if (length(grep("Headline.pfx", names(tmp_df), fixed=TRUE, value=TRUE))
> 0) tmp_df <-
tmp_df[tmp_df$Headline.pfx == Headline.pfx, ] else
warning("glb_allobs_df does not contain Headline.pfx; ignoring that filter")
}
if (!is.null(NewsDesk.nb)) {
if (any(grepl("NewsDesk.nb", names(tmp_df), fixed=TRUE)) > 0)
tmp_df <-
tmp_df[tmp_df$NewsDesk.nb == NewsDesk.nb, ] else
warning("glb_allobs_df does not contain NewsDesk.nb; ignoring that filter")
}
if (!is.null(.clusterid)) {
if (any(grepl(".clusterid", names(tmp_df), fixed=TRUE)) > 0)
tmp_df <-
tmp_df[tmp_df$clusterid == clusterid, ] else
warning("glb_allobs_df does not contain clusterid; ignoring that filter") }
if (!is.null(myCategory)) {
if (!(myCategory %in% names(glb_allobs_df)))
tmp_df <-
tmp_df[tmp_df$myCategory == myCategory, ] else
warning("glb_allobs_df does not contain myCategory; ignoring that filter")
}
return(glb_allobs_df$UniqueID %in% tmp_df$UniqueID)
}
dsp_obs <- function(..., cols=c(NULL), all=FALSE) {
tmp_df <- glb_allobs_df[sel_obs(...),
union(c("UniqueID", "Popular", "myCategory", "Headline"), cols), FALSE]
if(all) { print(tmp_df) } else { myprint_df(tmp_df) }
}
#dsp_obs(Popular=1, NewsDesk="", SectionName="", Headline.contains="Boehner")
# dsp_obs(Popular=1, NewsDesk="", SectionName="")
# dsp_obs(Popular=NA, NewsDesk="", SectionName="")
dsp_tbl <- function(...) {
tmp_entity_df <- glb_allobs_df[sel_obs(...), ]
tmp_tbl <- table(tmp_entity_df$NewsDesk,
tmp_entity_df$SectionName,
tmp_entity_df$SubsectionName,
tmp_entity_df$Popular, useNA="ifany")
#print(names(tmp_tbl))
#print(dimnames(tmp_tbl))
print(tmp_tbl)
}
dsp_hdlxtab <- function(str)
print(mycreate_sqlxtab_df(glb_allobs_df[sel_obs(Headline.contains=str), ],
c("Headline.pfx", "Headline", glb_rsp_var)))
#dsp_hdlxtab("(1914)|(1939)")
dsp_catxtab <- function(str)
print(mycreate_sqlxtab_df(glb_allobs_df[sel_obs(Headline.contains=str), ],
c("Headline.pfx", "NewsDesk", "SectionName", "SubsectionName", glb_rsp_var)))
# dsp_catxtab("1914)|(1939)")
# dsp_catxtab("19(14|39|64):")
# dsp_catxtab("19..:")
# Create myCategory <- NewsDesk#SectionName#SubsectionName
# Fix some data before merging categories
# glb_allobs_df[sel_obs(Headline.contains="Your Turn:", NewsDesk=""),
# "NewsDesk"] <- "Styles"
# glb_allobs_df[sel_obs(Headline.contains="School", NewsDesk="", SectionName="U.S.",
# SubsectionName=""),
# "SubsectionName"] <- "Education"
# glb_allobs_df[sel_obs(Headline.contains="Today in Small Business:", NewsDesk="Business"),
# "SectionName"] <- "Business Day"
# glb_allobs_df[sel_obs(Headline.contains="Today in Small Business:", NewsDesk="Business"),
# "SubsectionName"] <- "Small Business"
# glb_allobs_df[sel_obs(Headline.contains="Readers Respond:"),
# "SectionName"] <- "Opinion"
# glb_allobs_df[sel_obs(Headline.contains="Readers Respond:"),
# "SubsectionName"] <- "Room For Debate"
# glb_allobs_df[sel_obs(NewsDesk="Business", SectionName="", SubsectionName="", Popular=NA),
# "SubsectionName"] <- "Small Business"
# print(glb_allobs_df[glb_allobs_df$UniqueID %in% c(7973),
# c("UniqueID", "Headline", "myCategory", "NewsDesk", "SectionName", "SubsectionName")])
#
# glb_allobs_df[sel_obs(NewsDesk="Business", SectionName="", SubsectionName=""),
# "SectionName"] <- "Technology"
# print(glb_allobs_df[glb_allobs_df$UniqueID %in% c(5076, 5736, 5924, 5911, 6532),
# c("UniqueID", "Headline", "myCategory", "NewsDesk", "SectionName", "SubsectionName")])
#
# glb_allobs_df[sel_obs(SectionName="Health"),
# "NewsDesk"] <- "Science"
# glb_allobs_df[sel_obs(SectionName="Travel"),
# "NewsDesk"] <- "Travel"
#
# glb_allobs_df[sel_obs(SubsectionName="Fashion & Style"),
# "SectionName"] <- ""
# glb_allobs_df[sel_obs(SubsectionName="Fashion & Style"),
# "SubsectionName"] <- ""
# glb_allobs_df[sel_obs(NewsDesk="Styles", SectionName="", SubsectionName="", Popular=1),
# "SectionName"] <- "U.S."
# print(glb_allobs_df[glb_allobs_df$UniqueID %in% c(5486),
# c("UniqueID", "Headline", "myCategory", "NewsDesk", "SectionName", "SubsectionName")])
#
# glb_allobs_df$myCategory <- paste(glb_allobs_df$NewsDesk,
# glb_allobs_df$SectionName,
# glb_allobs_df$SubsectionName,
# sep="#")
# dsp_obs( Headline.contains="Music:"
# #,NewsDesk=""
# #,SectionName=""
# #,SubsectionName="Fashion & Style"
# #,Popular=1 #NA
# ,cols= c("UniqueID", "Headline", "Popular", "myCategory",
# "NewsDesk", "SectionName", "SubsectionName"),
# all=TRUE)
# dsp_obs( Headline.contains="."
# ,NewsDesk=""
# ,SectionName="Opinion"
# ,SubsectionName=""
# #,Popular=1 #NA
# ,cols= c("UniqueID", "Headline", "Popular", "myCategory",
# "NewsDesk", "SectionName", "SubsectionName"),
# all=TRUE)
# Merge some categories
# glb_allobs_df$myCategory <-
# plyr::revalue(glb_allobs_df$myCategory, c(
# "#Business Day#Dealbook" = "Business#Business Day#Dealbook",
# "#Business Day#Small Business" = "Business#Business Day#Small Business",
# "#Crosswords/Games#" = "Business#Crosswords/Games#",
# "Business##" = "Business#Technology#",
# "#Open#" = "Business#Technology#",
# "#Technology#" = "Business#Technology#",
#
# "#Arts#" = "Culture#Arts#",
# "Culture##" = "Culture#Arts#",
#
# "#World#Asia Pacific" = "Foreign#World#Asia Pacific",
# "Foreign##" = "Foreign#World#",
#
# "#N.Y. / Region#" = "Metro#N.Y. / Region#",
#
# "#Opinion#" = "OpEd#Opinion#",
# "OpEd##" = "OpEd#Opinion#",
#
# "#Health#" = "Science#Health#",
# "Science##" = "Science#Health#",
#
# "Styles##" = "Styles##Fashion",
# "Styles#Health#" = "Science#Health#",
# "Styles#Style#Fashion & Style" = "Styles##Fashion",
#
# "#Travel#" = "Travel#Travel#",
#
# "Magazine#Magazine#" = "myOther",
# "National##" = "myOther",
# "National#U.S.#Politics" = "myOther",
# "Sports##" = "myOther",
# "Sports#Sports#" = "myOther",
# "#U.S.#" = "myOther",
#
#
# # "Business##Small Business" = "Business#Business Day#Small Business",
# #
# # "#Opinion#" = "#Opinion#Room For Debate",
# "##" = "##"
# # "Business##" = "Business#Business Day#Dealbook",
# # "Foreign#World#" = "Foreign##",
# # "#Open#" = "Other",
# # "#Opinion#The Public Editor" = "OpEd#Opinion#",
# # "Styles#Health#" = "Styles##",
# # "Styles#Style#Fashion & Style" = "Styles##",
# # "#U.S.#" = "#U.S.#Education",
# ))
# ctgry_xtab_df <- orderBy(reformulate(c("-", ".n")),
# mycreate_sqlxtab_df(glb_allobs_df,
# c("myCategory", "NewsDesk", "SectionName", "SubsectionName", glb_rsp_var)))
# myprint_df(ctgry_xtab_df)
# write.table(ctgry_xtab_df, paste0(glb_out_pfx, "ctgry_xtab.csv"),
# row.names=FALSE)
# ctgry_cast_df <- orderBy(~ -Y -NA, dcast(ctgry_xtab_df,
# myCategory + NewsDesk + SectionName + SubsectionName ~
# Popular.fctr, sum, value.var=".n"))
# myprint_df(ctgry_cast_df)
# write.table(ctgry_cast_df, paste0(glb_out_pfx, "ctgry_cast.csv"),
# row.names=FALSE)
# print(ctgry_sum_tbl <- table(glb_allobs_df$myCategory, glb_allobs_df[, glb_rsp_var],
# useNA="ifany"))
dsp_chisq.test <- function(...) {
sel_df <- glb_allobs_df[sel_obs(...) &
!is.na(glb_allobs_df$Popular), ]
sel_df$.marker <- 1
ref_df <- glb_allobs_df[!is.na(glb_allobs_df$Popular), ]
mrg_df <- merge(ref_df[, c(glb_id_vars, "Popular")],
sel_df[, c(glb_id_vars, ".marker")], all.x=TRUE)
mrg_df[is.na(mrg_df)] <- 0
print(mrg_tbl <- table(mrg_df$.marker, mrg_df$Popular))
print("Rows:Selected; Cols:Popular")
#print(mrg_tbl)
print(chisq.test(mrg_tbl))
}
# dsp_chisq.test(Headline.contains="[Ee]bola")
# dsp_chisq.test(Snippet.contains="[Ee]bola")
# dsp_chisq.test(Abstract.contains="[Ee]bola")
# print(mycreate_sqlxtab_df(glb_allobs_df[sel_obs(Headline.contains="[Ee]bola"), ],
# c(glb_rsp_var, "NewsDesk", "SectionName", "SubsectionName")))
# print(table(glb_allobs_df$NewsDesk, glb_allobs_df$SectionName))
# print(table(glb_allobs_df$SectionName, glb_allobs_df$SubsectionName))
# print(table(glb_allobs_df$NewsDesk, glb_allobs_df$SectionName, glb_allobs_df$SubsectionName))
# glb_allobs_df$myCategory.fctr <- as.factor(glb_allobs_df$myCategory)
# glb_exclude_vars_as_features <- union(glb_exclude_vars_as_features,
# c("myCategory", "NewsDesk", "SectionName", "SubsectionName"))
# Copy Headline into Snipper & Abstract if they are empty
# print(glb_allobs_df[nchar(glb_allobs_df[, "Snippet"]) == 0, c("Headline", "Snippet")])
# print(glb_allobs_df[glb_allobs_df$Headline == glb_allobs_df$Snippet,
# c("UniqueID", "Headline", "Snippet")])
# glb_allobs_df[nchar(glb_allobs_df[, "Snippet"]) == 0, "Snippet"] <-
# glb_allobs_df[nchar(glb_allobs_df[, "Snippet"]) == 0, "Headline"]
#
# print(glb_allobs_df[nchar(glb_allobs_df[, "Abstract"]) == 0, c("Headline", "Abstract")])
# print(glb_allobs_df[glb_allobs_df$Headline == glb_allobs_df$Abstract,
# c("UniqueID", "Headline", "Abstract")])
# glb_allobs_df[nchar(glb_allobs_df[, "Abstract"]) == 0, "Abstract"] <-
# glb_allobs_df[nchar(glb_allobs_df[, "Abstract"]) == 0, "Headline"]
# WordCount_0_df <- subset(glb_allobs_df, WordCount == 0)
# table(WordCount_0_df$Popular, WordCount_0_df$WordCount, useNA="ifany")
# myprint_df(WordCount_0_df[,
# c("UniqueID", "Popular", "WordCount", "Headline")])
glb_chunks_df <- myadd_chunk(glb_chunks_df, "manage.missing.data", major.inc=FALSE)
## label step_major step_minor bgn end elapsed
## 3 cleanse.data 2 1 109.869 120.927 11.058
## 4 manage.missing.data 2 2 120.928 NA NA
2.2: manage missing data# print(sapply(names(glb_trnobs_df), function(col) sum(is.na(glb_trnobs_df[, col]))))
# print(sapply(names(glb_newobs_df), function(col) sum(is.na(glb_newobs_df[, col]))))
# glb_trnobs_df <- na.omit(glb_trnobs_df)
# glb_newobs_df <- na.omit(glb_newobs_df)
# df[is.na(df)] <- 0
mycheck_problem_data(glb_allobs_df)
## [1] "numeric data missing in : "
## District CommunityArea Latitude Longitude
## 43056 24616 2276 2276
## [1] "numeric data w/ 0s in : "
## Arrest Domestic CommunityArea Date.wkday.fctr
## 176105 191226 2 26316
## Date.wkend Date.second.fctr Date.last1.log Date.last10.log
## 137849 191641 59966 11
## Date.last100.log
## 100
## [1] "numeric data w/ Infs in : "
## named integer(0)
## [1] "numeric data w/ NaNs in : "
## named integer(0)
## [1] "string data missing in : "
## Date LocationDescription LocationDescription.my
## 0 0 0
# Not refactored into mydsutils.R since glb_*_df might be reassigned
glb_impute_missing_data <- function() {
require(mice)
set.seed(glb_mice_complete.seed)
inp_impent_df <- glb_allobs_df[, setdiff(names(glb_allobs_df),
union(glb_exclude_vars_as_features, glb_rsp_var))]
print("Summary before imputation: ")
print(summary(inp_impent_df))
out_impent_df <- complete(mice(inp_impent_df))
print(summary(out_impent_df))
# complete(mice()) changes attributes of factors even though values don't change
ret_vars <- sapply(names(out_impent_df),
function(col) ifelse(!identical(out_impent_df[, col], inp_impent_df[, col]),
col, ""))
ret_vars <- ret_vars[ret_vars != ""]
return(out_impent_df[, ret_vars])
}
if (glb_impute_na_data &&
(length(myfind_numerics_missing(glb_allobs_df)) > 0) &&
(ncol(nonna_df <- glb_impute_missing_data()) > 0)) {
for (col in names(nonna_df)) {
glb_allobs_df[, paste0(col, ".nonNA")] <- nonna_df[, col]
glb_exclude_vars_as_features <- c(glb_exclude_vars_as_features, col)
}
}
## District CommunityArea Latitude Longitude
## 43056 24616 2276 2276
mycheck_problem_data(glb_allobs_df, terminate = TRUE)
## [1] "numeric data missing in : "
## District CommunityArea Latitude Longitude
## 43056 24616 2276 2276
## [1] "numeric data w/ 0s in : "
## Arrest Domestic CommunityArea Date.wkday.fctr
## 176105 191226 2 26316
## Date.wkend Date.second.fctr Date.last1.log Date.last10.log
## 137849 191641 59966 11
## Date.last100.log
## 100
## [1] "numeric data w/ Infs in : "
## named integer(0)
## [1] "numeric data w/ NaNs in : "
## named integer(0)
## [1] "string data missing in : "
## Date LocationDescription LocationDescription.my
## 0 0 0
glb_chunks_df <- myadd_chunk(glb_chunks_df, "encode.data", major.inc=FALSE)
## label step_major step_minor bgn end elapsed
## 4 manage.missing.data 2 2 120.928 122.544 1.616
## 5 encode.data 2 3 122.545 NA NA
2.3: encode data# map_<col_name>_df <- myimport_data(
# url="<map_url>",
# comment="map_<col_name>_df", print_diagn=TRUE)
# map_<col_name>_df <- read.csv(paste0(getwd(), "/data/<file_name>.csv"), strip.white=TRUE)
# glb_trnobs_df <- mymap_codes(glb_trnobs_df, "<from_col_name>", "<to_col_name>",
# map_<to_col_name>_df, map_join_col_name="<map_join_col_name>",
# map_tgt_col_name="<to_col_name>")
# glb_newobs_df <- mymap_codes(glb_newobs_df, "<from_col_name>", "<to_col_name>",
# map_<to_col_name>_df, map_join_col_name="<map_join_col_name>",
# map_tgt_col_name="<to_col_name>")
# glb_trnobs_df$<col_name>.fctr <- factor(glb_trnobs_df$<col_name>,
# as.factor(union(glb_trnobs_df$<col_name>, glb_newobs_df$<col_name>)))
# glb_newobs_df$<col_name>.fctr <- factor(glb_newobs_df$<col_name>,
# as.factor(union(glb_trnobs_df$<col_name>, glb_newobs_df$<col_name>)))
glb_chunks_df <- myadd_chunk(glb_chunks_df, "extract.features", major.inc=TRUE)
## label step_major step_minor bgn end elapsed
## 5 encode.data 2 3 122.545 122.568 0.023
## 6 extract.features 3 0 122.568 NA NA
3.0: extract features#```{r extract_features, cache=FALSE, eval=!is.null(glb_txt_vars)}
extract.features_chunk_df <- myadd_chunk(NULL, "extract.features_bgn")
## label step_major step_minor bgn end elapsed
## 1 extract.features_bgn 1 0 122.616 NA NA
# Create new features that help prediction
# <col_name>.lag.2 <- lag(zoo(glb_trnobs_df$<col_name>), -2, na.pad=TRUE)
# glb_trnobs_df[, "<col_name>.lag.2"] <- coredata(<col_name>.lag.2)
# <col_name>.lag.2 <- lag(zoo(glb_newobs_df$<col_name>), -2, na.pad=TRUE)
# glb_newobs_df[, "<col_name>.lag.2"] <- coredata(<col_name>.lag.2)
#
# glb_newobs_df[1, "<col_name>.lag.2"] <- glb_trnobs_df[nrow(glb_trnobs_df) - 1,
# "<col_name>"]
# glb_newobs_df[2, "<col_name>.lag.2"] <- glb_trnobs_df[nrow(glb_trnobs_df),
# "<col_name>"]
# glb_allobs_df <- mutate(glb_allobs_df,
# A.P.http=ifelse(grepl("http",Added,fixed=TRUE), 1, 0)
# )
#
# glb_trnobs_df <- mutate(glb_trnobs_df,
# )
#
# glb_newobs_df <- mutate(glb_newobs_df,
# )
# Create factors of string variables
extract.features_chunk_df <- myadd_chunk(extract.features_chunk_df,
paste0("extract.features_", "factorize.str.vars"), major.inc=TRUE)
## label step_major step_minor bgn
## 1 extract.features_bgn 1 0 122.616
## 2 extract.features_factorize.str.vars 2 0 122.625
## end elapsed
## 1 122.625 0.009
## 2 NA NA
print(str_vars <- myfind_chr_cols_df(glb_allobs_df))
## Date LocationDescription .src
## "Date" "LocationDescription" ".src"
## LocationDescription.my
## "LocationDescription.my"
if (length(str_vars <- setdiff(str_vars,
glb_exclude_vars_as_features)) > 0) {
for (var in str_vars) {
warning("Creating factors of string variable: ", var,
": # of unique values: ", length(unique(glb_allobs_df[, var])))
glb_allobs_df[, paste0(var, ".fctr")] <- factor(glb_allobs_df[, var],
as.factor(unique(glb_allobs_df[, var])))
# glb_trnobs_df[, paste0(var, ".fctr")] <- factor(glb_trnobs_df[, var],
# as.factor(unique(glb_allobs_df[, var])))
# glb_newobs_df[, paste0(var, ".fctr")] <- factor(glb_newobs_df[, var],
# as.factor(unique(glb_allobs_df[, var])))
}
glb_exclude_vars_as_features <- union(glb_exclude_vars_as_features, str_vars)
}
## Warning: Creating factors of string variable: LocationDescription.my: # of
## unique values: 19
if (!is.null(glb_txt_vars)) {
require(foreach)
require(gsubfn)
require(stringr)
require(tm)
extract.features_chunk_df <- myadd_chunk(extract.features_chunk_df,
paste0("extract.features_", "process.text"), major.inc=TRUE)
chk_pattern_freq <- function(re_str, ignore.case=TRUE) {
match_mtrx <- str_extract_all(txt_vctr, regex(re_str, ignore_case=ignore.case),
simplify=TRUE)
match_df <- as.data.frame(match_mtrx[match_mtrx != ""])
names(match_df) <- "pattern"
return(mycreate_sqlxtab_df(match_df, "pattern"))
}
#tmp_freq_df <- chk_pattern_freq("\\bNew (\\w)+", ignore.case=FALSE)
#subset(chk_pattern_freq("\\bNew (\\w)+", ignore.case=FALSE), grepl("New [[:upper:]]", pattern))
#chk_pattern_freq("\\bnew (\\W)+")
chk_subfn <- function(pos_ix) {
re_str <- gsubfn_args_lst[["re_str"]][[pos_ix]]
print("re_str:"); print(re_str)
rp_frmla <- gsubfn_args_lst[["rp_frmla"]][[pos_ix]]
print("rp_frmla:"); print(rp_frmla, showEnv=FALSE)
tmp_vctr <- grep(re_str, txt_vctr, value=TRUE, ignore.case=TRUE)[1:5]
print("Before:")
print(tmp_vctr)
print("After:")
print(gsubfn(re_str, rp_frmla, tmp_vctr, ignore.case=TRUE))
}
#chk_subfn(1)
myapply_gsub <- function(...) {
if ((length_lst <- length(names(gsub_map_lst))) == 0)
return(txt_vctr)
for (ptn_ix in 1:length_lst) {
print(sprintf("running gsub for %02d (of %02d): #%s#...", ptn_ix,
length(names(gsub_map_lst)), names(gsub_map_lst)[ptn_ix]))
txt_vctr <- gsub(names(gsub_map_lst)[ptn_ix], gsub_map_lst[[ptn_ix]],
txt_vctr, ...)
}
return(txt_vctr)
}
myapply_txtmap <- function(txt_vctr, ...) {
nrows <- nrow(glb_txt_map_df)
for (ptn_ix in 1:nrows) {
print(sprintf("running gsub for %02d (of %02d): #%s#...", ptn_ix,
nrows, glb_txt_map_df[ptn_ix, "rex_str"]))
txt_vctr <- gsub(glb_txt_map_df[ptn_ix, "rex_str"],
glb_txt_map_df[ptn_ix, "rpl_str"],
txt_vctr, ...)
}
return(txt_vctr)
}
chk.equal <- function(bgn, end) {
print(all.equal(sav_txt_lst[["Headline"]][bgn:end], glb_txt_lst[["Headline"]][bgn:end]))
}
dsp.equal <- function(bgn, end) {
print(sav_txt_lst[["Headline"]][bgn:end])
print(glb_txt_lst[["Headline"]][bgn:end])
}
#sav_txt_lst <- glb_txt_lst; all.equal(sav_txt_lst, glb_txt_lst)
#all.equal(sav_txt_lst[["Headline"]][1:4200], glb_txt_lst[["Headline"]][1:4200])
#all.equal(sav_txt_lst[["Headline"]][1:2000], glb_txt_lst[["Headline"]][1:2000])
#all.equal(sav_txt_lst[["Headline"]][1:1000], glb_txt_lst[["Headline"]][1:1000])
#all.equal(sav_txt_lst[["Headline"]][1:500], glb_txt_lst[["Headline"]][1:500])
#all.equal(sav_txt_lst[["Headline"]][1:200], glb_txt_lst[["Headline"]][1:200])
#all.equal(sav_txt_lst[["Headline"]][1:100], glb_txt_lst[["Headline"]][1:100])
#chk.equal( 1, 100)
#chk.equal(51, 100)
#chk.equal(81, 100)
#chk.equal(81, 90)
#chk.equal(81, 85)
#chk.equal(86, 90)
#chk.equal(96, 100)
#dsp.equal(86, 90)
glb_txt_map_df <- read.csv("mytxt_map.csv", comment.char="#", strip.white=TRUE)
glb_txt_lst <- list();
print(sprintf("Building glb_txt_lst..."))
glb_txt_lst <- foreach(txt_var=glb_txt_vars) %dopar% {
# for (txt_var in glb_txt_vars) {
txt_vctr <- glb_allobs_df[, txt_var]
# myapply_txtmap shd be created as a tm_map::content_transformer ?
#print(glb_txt_map_df)
#txt_var=glb_txt_vars[3]; txt_vctr <- glb_txt_lst[[txt_var]]
#print(rex_str <- glb_txt_map_df[glb_txt_map_df$rex_str == "\\bWall St\\.", "rex_str"])
#print(rex_str <- glb_txt_map_df[grepl("du Pont", glb_txt_map_df$rex_str), "rex_str"])
#print(rex_str <- glb_txt_map_df[glb_txt_map_df$rpl_str == "versus", "rex_str"])
#print(tmp_vctr <- grep(rex_str, txt_vctr, value=TRUE, ignore.case=FALSE))
#ret_lst <- regexec(rex_str, txt_vctr, ignore.case=FALSE); ret_lst <- regmatches(txt_vctr, ret_lst); ret_vctr <- sapply(1:length(ret_lst), function(pos_ix) ifelse(length(ret_lst[[pos_ix]]) > 0, ret_lst[[pos_ix]], "")); print(ret_vctr <- ret_vctr[ret_vctr != ""])
#gsub(rex_str, glb_txt_map_df[glb_txt_map_df$rex_str == rex_str, "rpl_str"], tmp_vctr, ignore.case=FALSE)
#grep("Hong Hong", txt_vctr, value=TRUE)
txt_vctr <- myapply_txtmap(txt_vctr, ignore.case=FALSE)
}
names(glb_txt_lst) <- glb_txt_vars
for (txt_var in glb_txt_vars) {
print(sprintf("Remaining Acronyms in %s:", txt_var))
txt_vctr <- glb_txt_lst[[txt_var]]
print(tmp_vctr <- grep("[[:upper:]]\\.", txt_vctr, value=TRUE, ignore.case=FALSE))
}
for (txt_var in glb_txt_vars) {
re_str <- "\\b(Fort|Ft\\.|Hong|Las|Los|New|Puerto|Saint|San|St\\.)( |-)(\\w)+"
print(sprintf("Remaining #%s# terms in %s: ", re_str, txt_var))
txt_vctr <- glb_txt_lst[[txt_var]]
print(orderBy(~ -.n +pattern, subset(chk_pattern_freq(re_str, ignore.case=FALSE),
grepl("( |-)[[:upper:]]", pattern))))
print(" consider cleaning if relevant to problem domain; geography name; .n > 1")
#grep("New G", txt_vctr, value=TRUE, ignore.case=FALSE)
#grep("St\\. Wins", txt_vctr, value=TRUE, ignore.case=FALSE)
}
for (txt_var in glb_txt_vars) {
re_str <- "\\b(N|S|E|W|C)( |\\.)(\\w)+"
print(sprintf("Remaining #%s# terms in %s: ", re_str, txt_var))
txt_vctr <- glb_txt_lst[[txt_var]]
print(orderBy(~ -.n +pattern, subset(chk_pattern_freq(re_str, ignore.case=FALSE),
grepl(".", pattern))))
#grep("N Weaver", txt_vctr, value=TRUE, ignore.case=FALSE)
}
for (txt_var in glb_txt_vars) {
re_str <- "\\b(North|South|East|West|Central)( |\\.)(\\w)+"
print(sprintf("Remaining #%s# terms in %s: ", re_str, txt_var))
txt_vctr <- glb_txt_lst[[txt_var]]
print(orderBy(~ -.n +pattern, subset(chk_pattern_freq(re_str, ignore.case=FALSE),
grepl(".", pattern))))
#grep("Central (African|Bankers|Cast|Italy|Role|Spring)", txt_vctr, value=TRUE, ignore.case=FALSE)
#grep("East (Africa|Berlin|London|Poland|Rivals|Spring)", txt_vctr, value=TRUE, ignore.case=FALSE)
#grep("North (American|Korean|West)", txt_vctr, value=TRUE, ignore.case=FALSE)
#grep("South (Pacific|Street)", txt_vctr, value=TRUE, ignore.case=FALSE)
#grep("St\\. Martins", txt_vctr, value=TRUE, ignore.case=FALSE)
}
find_cmpnd_wrds <- function(txt_vctr) {
txt_corpus <- Corpus(VectorSource(txt_vctr))
txt_corpus <- tm_map(txt_corpus, tolower)
txt_corpus <- tm_map(txt_corpus, PlainTextDocument)
txt_corpus <- tm_map(txt_corpus, removePunctuation,
preserve_intra_word_dashes=TRUE)
full_Tf_DTM <- DocumentTermMatrix(txt_corpus,
control=list(weighting=weightTf))
print(" Full TermMatrix:"); print(full_Tf_DTM)
full_Tf_mtrx <- as.matrix(full_Tf_DTM)
rownames(full_Tf_mtrx) <- rownames(glb_allobs_df) # print undreadable otherwise
full_Tf_vctr <- colSums(full_Tf_mtrx)
names(full_Tf_vctr) <- dimnames(full_Tf_DTM)[[2]]
#grep("year", names(full_Tf_vctr), value=TRUE)
#which.max(full_Tf_mtrx[, "yearlong"])
full_Tf_df <- as.data.frame(full_Tf_vctr)
names(full_Tf_df) <- "Tf.full"
full_Tf_df$term <- rownames(full_Tf_df)
#full_Tf_df$freq.full <- colSums(full_Tf_mtrx != 0)
full_Tf_df <- orderBy(~ -Tf.full, full_Tf_df)
cmpnd_Tf_df <- full_Tf_df[grep("-", full_Tf_df$term, value=TRUE) ,]
filter_df <- read.csv("mytxt_compound.csv", comment.char="#", strip.white=TRUE)
cmpnd_Tf_df$filter <- FALSE
for (row_ix in 1:nrow(filter_df))
cmpnd_Tf_df[!cmpnd_Tf_df$filter, "filter"] <-
grepl(filter_df[row_ix, "rex_str"],
cmpnd_Tf_df[!cmpnd_Tf_df$filter, "term"], ignore.case=TRUE)
cmpnd_Tf_df <- subset(cmpnd_Tf_df, !filter)
# Bug in tm_map(txt_corpus, removePunctuation, preserve_intra_word_dashes=TRUE) ???
# "net-a-porter" gets converted to "net-aporter"
#grep("net-a-porter", txt_vctr, ignore.case=TRUE, value=TRUE)
#grep("maser-laser", txt_vctr, ignore.case=TRUE, value=TRUE)
#txt_corpus[[which(grepl("net-a-porter", txt_vctr, ignore.case=TRUE))]]
#grep("\\b(across|longer)-(\\w)", cmpnd_Tf_df$term, ignore.case=TRUE, value=TRUE)
#grep("(\\w)-(affected|term)\\b", cmpnd_Tf_df$term, ignore.case=TRUE, value=TRUE)
print(sprintf("nrow(cmpnd_Tf_df): %d", nrow(cmpnd_Tf_df)))
myprint_df(cmpnd_Tf_df)
}
extract.features_chunk_df <- myadd_chunk(extract.features_chunk_df,
paste0("extract.features_", "process.text_reporting_compound_terms"), major.inc=FALSE)
for (txt_var in glb_txt_vars) {
print(sprintf("Remaining compound terms in %s: ", txt_var))
txt_vctr <- glb_txt_lst[[txt_var]]
# find_cmpnd_wrds(txt_vctr)
#grep("thirty-five", txt_vctr, ignore.case=TRUE, value=TRUE)
#rex_str <- glb_txt_map_df[grepl("hirty", glb_txt_map_df$rex_str), "rex_str"]
}
extract.features_chunk_df <- myadd_chunk(extract.features_chunk_df,
paste0("extract.features_", "build.corpus"), major.inc=TRUE)
glb_corpus_lst <- list()
print(sprintf("Building glb_corpus_lst..."))
glb_corpus_lst <- foreach(txt_var=glb_txt_vars) %dopar% {
# for (txt_var in glb_txt_vars) {
txt_corpus <- Corpus(VectorSource(glb_txt_lst[[txt_var]]))
txt_corpus <- tm_map(txt_corpus, tolower) #nuppr
txt_corpus <- tm_map(txt_corpus, PlainTextDocument)
txt_corpus <- tm_map(txt_corpus, removePunctuation) #npnct<chr_ix>
# txt-corpus <- tm_map(txt_corpus, content_transformer(function(x, pattern) gsub(pattern, "", x))
# Not to be run in production
inspect_terms <- function() {
full_Tf_DTM <- DocumentTermMatrix(txt_corpus,
control=list(weighting=weightTf))
print(" Full TermMatrix:"); print(full_Tf_DTM)
full_Tf_mtrx <- as.matrix(full_Tf_DTM)
rownames(full_Tf_mtrx) <- rownames(glb_allobs_df) # print undreadable otherwise
full_Tf_vctr <- colSums(full_Tf_mtrx)
names(full_Tf_vctr) <- dimnames(full_Tf_DTM)[[2]]
#grep("year", names(full_Tf_vctr), value=TRUE)
#which.max(full_Tf_mtrx[, "yearlong"])
full_Tf_df <- as.data.frame(full_Tf_vctr)
names(full_Tf_df) <- "Tf.full"
full_Tf_df$term <- rownames(full_Tf_df)
#full_Tf_df$freq.full <- colSums(full_Tf_mtrx != 0)
full_Tf_df <- orderBy(~ -Tf.full +term, full_Tf_df)
print(myplot_histogram(full_Tf_df, "Tf.full"))
myprint_df(full_Tf_df)
#txt_corpus[[which(grepl("zun", txt_vctr, ignore.case=TRUE))]]
digit_terms_df <- subset(full_Tf_df, grepl("[[:digit:]]", term))
myprint_df(digit_terms_df)
return(full_Tf_df)
}
#print("RemovePunct:"); remove_punct_Tf_df <- inspect_terms()
txt_corpus <- tm_map(txt_corpus, removeWords,
c(glb_append_stop_words[[txt_var]],
stopwords("english"))) #nstopwrds
#print("StoppedWords:"); stopped_words_Tf_df <- inspect_terms()
txt_corpus <- tm_map(txt_corpus, stemDocument) #Features for lost information: Difference/ratio in density of full_TfIdf_DTM ???
#txt_corpus <- tm_map(txt_corpus, content_transformer(stemDocument))
#print("StemmedWords:"); stemmed_words_Tf_df <- inspect_terms()
#stemmed_stopped_Tf_df <- merge(stemmed_words_Tf_df, stopped_words_Tf_df, by="term", all=TRUE, suffixes=c(".stem", ".stop"))
#myprint_df(stemmed_stopped_Tf_df)
#print(subset(stemmed_stopped_Tf_df, grepl("compan", term)))
#glb_corpus_lst[[txt_var]] <- txt_corpus
}
names(glb_corpus_lst) <- glb_txt_vars
extract.features_chunk_df <- myadd_chunk(extract.features_chunk_df,
paste0("extract.features_", "extract.DTM"), major.inc=TRUE)
glb_full_DTM_lst <- list(); glb_sprs_DTM_lst <- list();
for (txt_var in glb_txt_vars) {
print(sprintf("Extracting TfIDf terms for %s...", txt_var))
txt_corpus <- glb_corpus_lst[[txt_var]]
# full_Tf_DTM <- DocumentTermMatrix(txt_corpus,
# control=list(weighting=weightTf))
full_TfIdf_DTM <- DocumentTermMatrix(txt_corpus,
control=list(weighting=weightTfIdf))
sprs_TfIdf_DTM <- removeSparseTerms(full_TfIdf_DTM,
glb_sprs_thresholds[txt_var])
# glb_full_DTM_lst[[txt_var]] <- full_Tf_DTM
# glb_sprs_DTM_lst[[txt_var]] <- sprs_Tf_DTM
glb_full_DTM_lst[[txt_var]] <- full_TfIdf_DTM
glb_sprs_DTM_lst[[txt_var]] <- sprs_TfIdf_DTM
}
extract.features_chunk_df <- myadd_chunk(extract.features_chunk_df,
paste0("extract.features_", "report.DTM"), major.inc=TRUE)
for (txt_var in glb_txt_vars) {
print(sprintf("Reporting TfIDf terms for %s...", txt_var))
full_TfIdf_DTM <- glb_full_DTM_lst[[txt_var]]
sprs_TfIdf_DTM <- glb_sprs_DTM_lst[[txt_var]]
print(" Full TermMatrix:"); print(full_TfIdf_DTM)
full_TfIdf_mtrx <- as.matrix(full_TfIdf_DTM)
rownames(full_TfIdf_mtrx) <- rownames(glb_allobs_df) # print undreadable otherwise
full_TfIdf_vctr <- colSums(full_TfIdf_mtrx)
names(full_TfIdf_vctr) <- dimnames(full_TfIdf_DTM)[[2]]
#grep("scene", names(full_TfIdf_vctr), value=TRUE)
#which.max(full_TfIdf_mtrx[, "yearlong"])
full_TfIdf_df <- as.data.frame(full_TfIdf_vctr)
names(full_TfIdf_df) <- "TfIdf.full"
full_TfIdf_df$term <- rownames(full_TfIdf_df)
full_TfIdf_df$freq.full <- colSums(full_TfIdf_mtrx != 0)
full_TfIdf_df <- orderBy(~ -TfIdf.full, full_TfIdf_df)
print(" Sparse TermMatrix:"); print(sprs_TfIdf_DTM)
sprs_TfIdf_vctr <- colSums(as.matrix(sprs_TfIdf_DTM))
names(sprs_TfIdf_vctr) <- dimnames(sprs_TfIdf_DTM)[[2]]
sprs_TfIdf_df <- as.data.frame(sprs_TfIdf_vctr)
names(sprs_TfIdf_df) <- "TfIdf.sprs"
sprs_TfIdf_df$term <- rownames(sprs_TfIdf_df)
sprs_TfIdf_df$freq.sprs <- colSums(as.matrix(sprs_TfIdf_DTM) != 0)
sprs_TfIdf_df <- orderBy(~ -TfIdf.sprs, sprs_TfIdf_df)
terms_TfIdf_df <- merge(full_TfIdf_df, sprs_TfIdf_df, all.x=TRUE)
terms_TfIdf_df$in.sprs <- !is.na(terms_TfIdf_df$freq.sprs)
plt_TfIdf_df <- subset(terms_TfIdf_df,
TfIdf.full >= min(terms_TfIdf_df$TfIdf.sprs, na.rm=TRUE))
plt_TfIdf_df$label <- ""
plt_TfIdf_df[is.na(plt_TfIdf_df$TfIdf.sprs), "label"] <-
plt_TfIdf_df[is.na(plt_TfIdf_df$TfIdf.sprs), "term"]
glb_important_terms[[txt_var]] <- union(glb_important_terms[[txt_var]],
plt_TfIdf_df[is.na(plt_TfIdf_df$TfIdf.sprs), "term"])
print(myplot_scatter(plt_TfIdf_df, "freq.full", "TfIdf.full",
colorcol_name="in.sprs") +
geom_text(aes(label=label), color="Black", size=3.5))
melt_TfIdf_df <- orderBy(~ -value, melt(terms_TfIdf_df, id.var="term"))
print(ggplot(melt_TfIdf_df, aes(value, color=variable)) + stat_ecdf() +
geom_hline(yintercept=glb_sprs_thresholds[txt_var],
linetype = "dotted"))
melt_TfIdf_df <- orderBy(~ -value,
melt(subset(terms_TfIdf_df, !is.na(TfIdf.sprs)), id.var="term"))
print(myplot_hbar(melt_TfIdf_df, "term", "value",
colorcol_name="variable"))
melt_TfIdf_df <- orderBy(~ -value,
melt(subset(terms_TfIdf_df, is.na(TfIdf.sprs)), id.var="term"))
print(myplot_hbar(head(melt_TfIdf_df, 10), "term", "value",
colorcol_name="variable"))
}
# sav_full_DTM_lst <- glb_full_DTM_lst
# sav_sprs_DTM_lst <- glb_sprs_DTM_lst
# print(identical(sav_glb_corpus_lst, glb_corpus_lst))
# print(all.equal(length(sav_glb_corpus_lst), length(glb_corpus_lst)))
# print(all.equal(names(sav_glb_corpus_lst), names(glb_corpus_lst)))
# print(all.equal(sav_glb_corpus_lst[["Headline"]], glb_corpus_lst[["Headline"]]))
# print(identical(sav_full_DTM_lst, glb_full_DTM_lst))
# print(identical(sav_sprs_DTM_lst, glb_sprs_DTM_lst))
rm(full_TfIdf_mtrx, full_TfIdf_df, melt_TfIdf_df, terms_TfIdf_df)
# Create txt features
if ((length(glb_txt_vars) > 1) &&
(length(unique(pfxs <- sapply(glb_txt_vars,
function(txt) toupper(substr(txt, 1, 1))))) < length(glb_txt_vars)))
stop("Prefixes for corpus freq terms not unique: ", pfxs)
extract.features_chunk_df <- myadd_chunk(extract.features_chunk_df,
paste0("extract.features_", "bind.DTM"),
major.inc=TRUE)
for (txt_var in glb_txt_vars) {
print(sprintf("Binding DTM for %s...", txt_var))
txt_var_pfx <- toupper(substr(txt_var, 1, 1))
txt_X_df <- as.data.frame(as.matrix(glb_sprs_DTM_lst[[txt_var]]))
colnames(txt_X_df) <- paste(txt_var_pfx, ".T.",
make.names(colnames(txt_X_df)), sep="")
rownames(txt_X_df) <- rownames(glb_allobs_df) # warning otherwise
# plt_X_df <- cbind(txt_X_df, glb_allobs_df[, c(glb_id_vars, glb_rsp_var)])
# print(myplot_box(df=plt_X_df, ycol_names="H.T.today", xcol_name=glb_rsp_var))
# log_X_df <- log(1 + txt_X_df)
# colnames(log_X_df) <- paste(colnames(txt_X_df), ".log", sep="")
# plt_X_df <- cbind(log_X_df, glb_allobs_df[, c(glb_id_vars, glb_rsp_var)])
# print(myplot_box(df=plt_X_df, ycol_names="H.T.today.log", xcol_name=glb_rsp_var))
glb_allobs_df <- cbind(glb_allobs_df, txt_X_df) # TfIdf is normalized
#glb_allobs_df <- cbind(glb_allobs_df, log_X_df) # if using non-normalized metrics
}
#identical(chk_entity_df, glb_allobs_df)
#chk_entity_df <- glb_allobs_df
extract.features_chunk_df <- myadd_chunk(extract.features_chunk_df,
paste0("extract.features_", "bind.DXM"),
major.inc=TRUE)
#sav_allobs_df <- glb_allobs_df
glb_punct_vctr <- c("!", "\"", "#", "\\$", "%", "&", "'",
"\\(|\\)",# "\\(", "\\)",
"\\*", "\\+", ",", "-", "\\.", "/", ":", ";",
"<|>", # "<",
"=",
# ">",
"\\?", "@", "\\[", "\\\\", "\\]", "^", "_", "`",
"\\{", "\\|", "\\}", "~")
txt_X_df <- glb_allobs_df[, c(glb_id_vars, ".rnorm"), FALSE]
txt_X_df <- foreach(txt_var=glb_txt_vars, .combine=cbind) %dopar% {
#for (txt_var in glb_txt_vars) {
print(sprintf("Binding DXM for %s...", txt_var))
txt_var_pfx <- toupper(substr(txt_var, 1, 1))
#txt_X_df <- glb_allobs_df[, c(glb_id_vars, ".rnorm"), FALSE]
txt_full_DTM_mtrx <- as.matrix(glb_full_DTM_lst[[txt_var]])
rownames(txt_full_DTM_mtrx) <- rownames(glb_allobs_df) # print undreadable otherwise
#print(txt_full_DTM_mtrx[txt_full_DTM_mtrx[, "ebola"] != 0, "ebola"])
# Create <txt_var>.T.<term> for glb_important_terms
for (term in glb_important_terms[[txt_var]])
txt_X_df[, paste0(txt_var_pfx, ".T.", make.names(term))] <-
txt_full_DTM_mtrx[, term]
# Create <txt_var>.nwrds.log & .nwrds.unq.log
txt_X_df[, paste0(txt_var_pfx, ".nwrds.log")] <-
log(1 + mycount_pattern_occ("\\w+", glb_txt_lst[[txt_var]]))
txt_X_df[, paste0(txt_var_pfx, ".nwrds.unq.log")] <-
log(1 + rowSums(txt_full_DTM_mtrx != 0))
txt_X_df[, paste0(txt_var_pfx, ".sum.TfIdf")] <-
rowSums(txt_full_DTM_mtrx)
txt_X_df[, paste0(txt_var_pfx, ".ratio.sum.TfIdf.nwrds")] <-
txt_X_df[, paste0(txt_var_pfx, ".sum.TfIdf")] /
(exp(txt_X_df[, paste0(txt_var_pfx, ".nwrds.log")]) - 1)
txt_X_df[is.nan(txt_X_df[, paste0(txt_var_pfx, ".ratio.sum.TfIdf.nwrds")]),
paste0(txt_var_pfx, ".ratio.sum.TfIdf.nwrds")] <- 0
# Create <txt_var>.nchrs.log
txt_X_df[, paste0(txt_var_pfx, ".nchrs.log")] <-
log(1 + mycount_pattern_occ(".", glb_allobs_df[, txt_var]))
txt_X_df[, paste0(txt_var_pfx, ".nuppr.log")] <-
log(1 + mycount_pattern_occ("[[:upper:]]", glb_allobs_df[, txt_var]))
txt_X_df[, paste0(txt_var_pfx, ".ndgts.log")] <-
log(1 + mycount_pattern_occ("[[:digit:]]", glb_allobs_df[, txt_var]))
# Create <txt_var>.npnct?.log
# would this be faster if it's iterated over each row instead of
# each created column ???
for (punct_ix in 1:length(glb_punct_vctr)) {
# smp0 <- " "
# smp1 <- "! \" # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~"
# smp2 <- paste(smp1, smp1, sep=" ")
# print(sprintf("Testing %s pattern:", glb_punct_vctr[punct_ix]))
# results <- mycount_pattern_occ(glb_punct_vctr[punct_ix], c(smp0, smp1, smp2))
# names(results) <- NULL; print(results)
txt_X_df[,
paste0(txt_var_pfx, ".npnct", sprintf("%02d", punct_ix), ".log")] <-
log(1 + mycount_pattern_occ(glb_punct_vctr[punct_ix],
glb_allobs_df[, txt_var]))
}
# print(head(glb_allobs_df[glb_allobs_df[, "A.npnct23.log"] > 0,
# c("UniqueID", "Popular", "Abstract", "A.npnct23.log")]))
# Create <txt_var>.nstopwrds.log & <txt_var>ratio.nstopwrds.nwrds
stop_words_rex_str <- paste0("\\b(", paste0(c(glb_append_stop_words[[txt_var]],
stopwords("english")), collapse="|"),
")\\b")
txt_X_df[, paste0(txt_var_pfx, ".nstopwrds", ".log")] <-
log(1 + mycount_pattern_occ(stop_words_rex_str, glb_txt_lst[[txt_var]]))
txt_X_df[, paste0(txt_var_pfx, ".ratio.nstopwrds.nwrds")] <-
exp(txt_X_df[, paste0(txt_var_pfx, ".nstopwrds", ".log")] -
txt_X_df[, paste0(txt_var_pfx, ".nwrds", ".log")])
# Create <txt_var>.P.http
txt_X_df[, paste(txt_var_pfx, ".P.http", sep="")] <-
as.integer(0 + mycount_pattern_occ("http", glb_allobs_df[, txt_var]))
# Create user-specified pattern vectors
# <txt_var>.P.year.colon
txt_X_df[, paste0(txt_var_pfx, ".P.year.colon")] <-
as.integer(0 + mycount_pattern_occ("[0-9]{4}:", glb_allobs_df[, txt_var]))
txt_X_df[, paste0(txt_var_pfx, ".P.daily.clip.report")] <-
as.integer(0 + mycount_pattern_occ("Daily Clip Report", glb_allobs_df[, txt_var]))
txt_X_df[, paste0(txt_var_pfx, ".P.fashion.week")] <-
as.integer(0 + mycount_pattern_occ("Fashion Week", glb_allobs_df[, txt_var]))
txt_X_df[, paste0(txt_var_pfx, ".P.first.draft")] <-
as.integer(0 + mycount_pattern_occ("First Draft", glb_allobs_df[, txt_var]))
#sum(mycount_pattern_occ("Metropolitan Diary:", glb_allobs_df$Abstract) > 0)
if (txt_var %in% c("Snippet", "Abstract")) {
txt_X_df[, paste0(txt_var_pfx, ".P.metropolitan.diary.colon")] <-
as.integer(0 + mycount_pattern_occ("Metropolitan Diary:",
glb_allobs_df[, txt_var]))
}
#sum(mycount_pattern_occ("[0-9]{4}:", glb_allobs_df$Headline) > 0)
#sum(mycount_pattern_occ("Quandary(.*)(?=:)", glb_allobs_df$Headline, perl=TRUE) > 0)
#sum(mycount_pattern_occ("No Comment(.*):", glb_allobs_df$Headline) > 0)
#sum(mycount_pattern_occ("Friday Night Music:", glb_allobs_df$Headline) > 0)
if (txt_var %in% c("Headline")) {
txt_X_df[, paste0(txt_var_pfx, ".P.facts.figures")] <-
as.integer(0 + mycount_pattern_occ("Facts & Figures:", glb_allobs_df[, txt_var]))
txt_X_df[, paste0(txt_var_pfx, ".P.friday.night.music")] <-
as.integer(0 + mycount_pattern_occ("Friday Night Music", glb_allobs_df[, txt_var]))
txt_X_df[, paste0(txt_var_pfx, ".P.no.comment.colon")] <-
as.integer(0 + mycount_pattern_occ("No Comment(.*):", glb_allobs_df[, txt_var]))
txt_X_df[, paste0(txt_var_pfx, ".P.on.this.day")] <-
as.integer(0 + mycount_pattern_occ("On This Day", glb_allobs_df[, txt_var]))
txt_X_df[, paste0(txt_var_pfx, ".P.quandary")] <-
as.integer(0 + mycount_pattern_occ("Quandary(.*)(?=:)", glb_allobs_df[, txt_var], perl=TRUE))
txt_X_df[, paste0(txt_var_pfx, ".P.readers.respond")] <-
as.integer(0 + mycount_pattern_occ("Readers Respond", glb_allobs_df[, txt_var]))
txt_X_df[, paste0(txt_var_pfx, ".P.recap.colon")] <-
as.integer(0 + mycount_pattern_occ("Recap:", glb_allobs_df[, txt_var]))
txt_X_df[, paste0(txt_var_pfx, ".P.s.notebook")] <-
as.integer(0 + mycount_pattern_occ("s Notebook", glb_allobs_df[, txt_var]))
txt_X_df[, paste0(txt_var_pfx, ".P.today.in.politic")] <-
as.integer(0 + mycount_pattern_occ("Today in Politic", glb_allobs_df[, txt_var]))
txt_X_df[, paste0(txt_var_pfx, ".P.today.in.smallbusiness")] <-
as.integer(0 + mycount_pattern_occ("Today in Small Business:", glb_allobs_df[, txt_var]))
txt_X_df[, paste0(txt_var_pfx, ".P.verbatim.colon")] <-
as.integer(0 + mycount_pattern_occ("Verbatim:", glb_allobs_df[, txt_var]))
txt_X_df[, paste0(txt_var_pfx, ".P.what.we.are")] <-
as.integer(0 + mycount_pattern_occ("What We're", glb_allobs_df[, txt_var]))
}
#summary(glb_allobs_df[ ,grep("P.on.this.day", names(glb_allobs_df), value=TRUE)])
txt_X_df <- subset(txt_X_df, select=-.rnorm)
txt_X_df <- txt_X_df[, -grep(glb_id_vars, names(txt_X_df), fixed=TRUE), FALSE]
#glb_allobs_df <- cbind(glb_allobs_df, txt_X_df)
}
glb_allobs_df <- cbind(glb_allobs_df, txt_X_df)
#myplot_box(glb_allobs_df, "A.sum.TfIdf", glb_rsp_var)
# Generate summaries
# print(summary(glb_allobs_df))
# print(sapply(names(glb_allobs_df), function(col) sum(is.na(glb_allobs_df[, col]))))
# print(summary(glb_trnobs_df))
# print(sapply(names(glb_trnobs_df), function(col) sum(is.na(glb_trnobs_df[, col]))))
# print(summary(glb_newobs_df))
# print(sapply(names(glb_newobs_df), function(col) sum(is.na(glb_newobs_df[, col]))))
rm(log_X_df, txt_X_df)
}
# print(sapply(names(glb_trnobs_df), function(col) sum(is.na(glb_trnobs_df[, col]))))
# print(sapply(names(glb_newobs_df), function(col) sum(is.na(glb_newobs_df[, col]))))
# print(myplot_scatter(glb_trnobs_df, "<col1_name>", "<col2_name>", smooth=TRUE))
rm(corpus_lst, full_TfIdf_DTM, full_TfIdf_vctr,
glb_full_DTM_lst, glb_sprs_DTM_lst, txt_corpus, txt_vctr)
## Warning in rm(corpus_lst, full_TfIdf_DTM, full_TfIdf_vctr,
## glb_full_DTM_lst, : object 'corpus_lst' not found
## Warning in rm(corpus_lst, full_TfIdf_DTM, full_TfIdf_vctr,
## glb_full_DTM_lst, : object 'full_TfIdf_DTM' not found
## Warning in rm(corpus_lst, full_TfIdf_DTM, full_TfIdf_vctr,
## glb_full_DTM_lst, : object 'full_TfIdf_vctr' not found
## Warning in rm(corpus_lst, full_TfIdf_DTM, full_TfIdf_vctr,
## glb_full_DTM_lst, : object 'glb_full_DTM_lst' not found
## Warning in rm(corpus_lst, full_TfIdf_DTM, full_TfIdf_vctr,
## glb_full_DTM_lst, : object 'glb_sprs_DTM_lst' not found
## Warning in rm(corpus_lst, full_TfIdf_DTM, full_TfIdf_vctr,
## glb_full_DTM_lst, : object 'txt_corpus' not found
## Warning in rm(corpus_lst, full_TfIdf_DTM, full_TfIdf_vctr,
## glb_full_DTM_lst, : object 'txt_vctr' not found
extract.features_chunk_df <- myadd_chunk(extract.features_chunk_df, "extract.features_end",
major.inc=TRUE)
## label step_major step_minor bgn
## 2 extract.features_factorize.str.vars 2 0 122.625
## 3 extract.features_end 3 0 122.663
## end elapsed
## 2 122.662 0.037
## 3 NA NA
myplt_chunk(extract.features_chunk_df)
## label step_major step_minor bgn
## 2 extract.features_factorize.str.vars 2 0 122.625
## 1 extract.features_bgn 1 0 122.616
## end elapsed duration
## 2 122.662 0.037 0.037
## 1 122.625 0.009 0.009
## [1] "Total Elapsed Time: 122.662 secs"
# if (glb_save_envir)
# save(glb_feats_df,
# glb_allobs_df, #glb_trnobs_df, glb_fitobs_df, glb_OOBobs_df, glb_newobs_df,
# file=paste0(glb_out_pfx, "extract_features_dsk.RData"))
# load(paste0(glb_out_pfx, "extract_features_dsk.RData"))
replay.petrisim(pn=glb_analytics_pn,
replay.trans=(glb_analytics_avl_objs <- c(glb_analytics_avl_objs,
"data.training.all","data.new")), flip_coord=TRUE)
## time trans "bgn " "fit.data.training.all " "predict.data.new " "end "
## 0.0000 multiple enabled transitions: data.training.all data.new model.selected firing: data.training.all
## 1.0000 1 2 1 0 0
## 1.0000 multiple enabled transitions: data.training.all data.new model.selected model.final data.training.all.prediction firing: data.new
## 2.0000 2 1 1 1 0
glb_chunks_df <- myadd_chunk(glb_chunks_df, "cluster.data", major.inc=TRUE)
## label step_major step_minor bgn end elapsed
## 6 extract.features 3 0 122.568 123.973 1.405
## 7 cluster.data 4 0 123.974 NA NA
4.0: cluster dataif (glb_cluster) {
require(proxy)
#require(hash)
require(dynamicTreeCut)
# glb_hash <- hash(key=unique(glb_allobs_df$myCategory),
# values=1:length(unique(glb_allobs_df$myCategory)))
# glb_hash_lst <- hash(key=unique(glb_allobs_df$myCategory),
# values=1:length(unique(glb_allobs_df$myCategory)))
#stophere; sav_allobs_df <- glb_allobs_df;
print("Clustering features: ")
print(cluster_vars <- grep("[HSA]\\.[PT]\\.", names(glb_allobs_df), value=TRUE))
#print(cluster_vars <- grep("[HSA]\\.", names(glb_allobs_df), value=TRUE))
glb_allobs_df$.clusterid <- 1
#print(max(table(glb_allobs_df$myCategory.fctr) / 20))
for (myCategory in c("##", "Business#Business Day#Dealbook", "OpEd#Opinion#",
"Styles#U.S.#", "Business#Technology#", "Science#Health#",
"Culture#Arts#")) {
ctgry_allobs_df <- glb_allobs_df[glb_allobs_df$myCategory == myCategory, ]
dstns_dist <- dist(ctgry_allobs_df[, cluster_vars], method = "cosine")
dstns_mtrx <- as.matrix(dstns_dist)
print(sprintf("max distance(%0.4f) pair:", max(dstns_mtrx)))
row_ix <- ceiling(which.max(dstns_mtrx) / ncol(dstns_mtrx))
col_ix <- which.max(dstns_mtrx[row_ix, ])
print(ctgry_allobs_df[c(row_ix, col_ix),
c("UniqueID", "Popular", "myCategory", "Headline", cluster_vars)])
min_dstns_mtrx <- dstns_mtrx
diag(min_dstns_mtrx) <- 1
print(sprintf("min distance(%0.4f) pair:", min(min_dstns_mtrx)))
row_ix <- ceiling(which.min(min_dstns_mtrx) / ncol(min_dstns_mtrx))
col_ix <- which.min(min_dstns_mtrx[row_ix, ])
print(ctgry_allobs_df[c(row_ix, col_ix),
c("UniqueID", "Popular", "myCategory", "Headline", cluster_vars)])
clusters <- hclust(dstns_dist, method = "ward.D2")
#plot(clusters, labels=NULL, hang=-1)
myplclust(clusters, lab.col=unclass(ctgry_allobs_df[, glb_rsp_var]))
#clusterGroups = cutree(clusters, k=7)
clusterGroups <- cutreeDynamic(clusters, minClusterSize=20, method="tree", deepSplit=0)
# Unassigned groups are labeled 0; the largest group has label 1
table(clusterGroups, ctgry_allobs_df[, glb_rsp_var], useNA="ifany")
#print(ctgry_allobs_df[which(clusterGroups == 1), c("UniqueID", "Popular", "Headline")])
#print(ctgry_allobs_df[(clusterGroups == 1) & !is.na(ctgry_allobs_df$Popular) & (ctgry_allobs_df$Popular==1), c("UniqueID", "Popular", "Headline")])
clusterGroups[clusterGroups == 0] <- 1
table(clusterGroups, ctgry_allobs_df[, glb_rsp_var], useNA="ifany")
#summary(factor(clusterGroups))
# clusterGroups <- clusterGroups +
# 100 * # has to be > max(table(glb_allobs_df$myCategory.fctr) / minClusterSize=20)
# which(levels(glb_allobs_df$myCategory.fctr) == myCategory)
# table(clusterGroups, ctgry_allobs_df[, glb_rsp_var], useNA="ifany")
# add to glb_allobs_df - then split the data again
glb_allobs_df[glb_allobs_df$myCategory==myCategory,]$.clusterid <- clusterGroups
#print(unique(glb_allobs_df$.clusterid))
#print(glb_feats_df[glb_feats_df$id == ".clusterid.fctr", ])
}
ctgry_xtab_df <- orderBy(reformulate(c("-", ".n")),
mycreate_sqlxtab_df(glb_allobs_df,
c("myCategory", ".clusterid", glb_rsp_var)))
ctgry_cast_df <- orderBy(~ -Y -NA, dcast(ctgry_xtab_df,
myCategory + .clusterid ~
Popular.fctr, sum, value.var=".n"))
print(ctgry_cast_df)
#print(orderBy(~ myCategory -Y -NA, ctgry_cast_df))
# write.table(ctgry_cast_df, paste0(glb_out_pfx, "ctgry_clst.csv"),
# row.names=FALSE)
print(ctgry_sum_tbl <- table(glb_allobs_df$myCategory, glb_allobs_df$.clusterid,
glb_allobs_df[, glb_rsp_var],
useNA="ifany"))
# dsp_obs(.clusterid=1, myCategory="OpEd#Opinion#",
# cols=c("UniqueID", "Popular", "myCategory", ".clusterid", "Headline"),
# all=TRUE)
glb_allobs_df$.clusterid.fctr <- as.factor(glb_allobs_df$.clusterid)
glb_exclude_vars_as_features <- c(glb_exclude_vars_as_features,
".clusterid")
glb_interaction_only_features["myCategory.fctr"] <- c(".clusterid.fctr")
glb_exclude_vars_as_features <- c(glb_exclude_vars_as_features,
cluster_vars)
}
# Re-partition
glb_trnobs_df <- subset(glb_allobs_df, .src == "Train")
glb_newobs_df <- subset(glb_allobs_df, .src == "Test")
glb_chunks_df <- myadd_chunk(glb_chunks_df, "select.features", major.inc=TRUE)
## label step_major step_minor bgn end elapsed
## 7 cluster.data 4 0 123.974 124.625 0.651
## 8 select.features 5 0 124.625 NA NA
5.0: select featuresprint(glb_feats_df <- myselect_features(entity_df=glb_trnobs_df,
exclude_vars_as_features=glb_exclude_vars_as_features,
rsp_var=glb_rsp_var))
## Warning in cor(data.matrix(entity_df[, sel_feats]), y =
## as.numeric(entity_df[, : the standard deviation is zero
## id cor.y
## Arrest Arrest 1.000000e+00
## Date.zoo Date.zoo -8.979996e-02
## ID ID -8.976835e-02
## Date.POSIX Date.POSIX -8.960446e-02
## Year Year -8.918899e-02
## Date.year.fctr Date.year.fctr -8.918899e-02
## LocationDescription.my.fctr LocationDescription.my.fctr 4.287035e-02
## Date.minute.fctr Date.minute.fctr 3.616236e-02
## Date.day.minutes.poly.2 Date.day.minutes.poly.2 -2.970140e-02
## Date.last1.log Date.last1.log 2.313475e-02
## Date.last100.log Date.last100.log -1.727958e-02
## Domestic Domestic 1.593081e-02
## Date.day.minutes.poly.5 Date.day.minutes.poly.5 1.232512e-02
## Date.day.minutes.poly.3 Date.day.minutes.poly.3 -1.084848e-02
## Date.wkend Date.wkend 9.401290e-03
## Date.day.minutes.poly.1 Date.day.minutes.poly.1 8.331385e-03
## Date.month.fctr Date.month.fctr -7.958042e-03
## Date.hour.fctr Date.hour.fctr 7.430087e-03
## Date.last10.log Date.last10.log 6.627752e-03
## Date.day.minutes.poly.4 Date.day.minutes.poly.4 4.243013e-03
## District District -3.776188e-03
## Latitude Latitude 3.662706e-03
## Date.date.fctr Date.date.fctr -3.245302e-03
## Date.wkday.fctr Date.wkday.fctr -2.961088e-03
## .rnorm .rnorm 2.681368e-03
## CommunityArea CommunityArea -1.896866e-03
## Beat Beat -8.795233e-04
## Longitude Longitude -8.939127e-05
## Date.second.fctr Date.second.fctr NA
## exclude.as.feat cor.y.abs
## Arrest 1 1.000000e+00
## Date.zoo 1 8.979996e-02
## ID 1 8.976835e-02
## Date.POSIX 1 8.960446e-02
## Year 0 8.918899e-02
## Date.year.fctr 0 8.918899e-02
## LocationDescription.my.fctr 0 4.287035e-02
## Date.minute.fctr 0 3.616236e-02
## Date.day.minutes.poly.2 0 2.970140e-02
## Date.last1.log 0 2.313475e-02
## Date.last100.log 0 1.727958e-02
## Domestic 0 1.593081e-02
## Date.day.minutes.poly.5 0 1.232512e-02
## Date.day.minutes.poly.3 0 1.084848e-02
## Date.wkend 0 9.401290e-03
## Date.day.minutes.poly.1 0 8.331385e-03
## Date.month.fctr 0 7.958042e-03
## Date.hour.fctr 0 7.430087e-03
## Date.last10.log 0 6.627752e-03
## Date.day.minutes.poly.4 0 4.243013e-03
## District 1 3.776188e-03
## Latitude 1 3.662706e-03
## Date.date.fctr 0 3.245302e-03
## Date.wkday.fctr 0 2.961088e-03
## .rnorm 0 2.681368e-03
## CommunityArea 1 1.896866e-03
## Beat 0 8.795233e-04
## Longitude 1 8.939127e-05
## Date.second.fctr 0 NA
# sav_feats_df <- glb_feats_df; glb_feats_df <- sav_feats_df
print(glb_feats_df <- orderBy(~-cor.y,
myfind_cor_features(feats_df=glb_feats_df, obs_df=glb_trnobs_df,
rsp_var=glb_rsp_var)))
## [1] "cor(Date.year.fctr, Year)=1.0000"
## [1] "cor(Arrest.fctr, Date.year.fctr)=-0.0892"
## [1] "cor(Arrest.fctr, Year)=-0.0892"
## Warning in myfind_cor_features(feats_df = glb_feats_df, obs_df =
## glb_trnobs_df, : Identified Year as highly correlated with Date.year.fctr
## [1] "cor(Date.day.minutes.poly.1, Date.hour.fctr)=0.9457"
## [1] "cor(Arrest.fctr, Date.day.minutes.poly.1)=0.0083"
## [1] "cor(Arrest.fctr, Date.hour.fctr)=0.0074"
## Warning in myfind_cor_features(feats_df = glb_feats_df, obs_df =
## glb_trnobs_df, : Identified Date.hour.fctr as highly correlated with
## Date.day.minutes.poly.1
## id cor.y exclude.as.feat cor.y.abs
## 2 Arrest 1.000000e+00 1 1.000000e+00
## 27 LocationDescription.my.fctr 4.287035e-02 0 4.287035e-02
## 15 Date.minute.fctr 3.616236e-02 0 3.616236e-02
## 12 Date.last1.log 2.313475e-02 0 2.313475e-02
## 24 Domestic 1.593081e-02 0 1.593081e-02
## 10 Date.day.minutes.poly.5 1.232512e-02 0 1.232512e-02
## 20 Date.wkend 9.401290e-03 0 9.401290e-03
## 6 Date.day.minutes.poly.1 8.331385e-03 0 8.331385e-03
## 11 Date.hour.fctr 7.430087e-03 0 7.430087e-03
## 13 Date.last10.log 6.627752e-03 0 6.627752e-03
## 9 Date.day.minutes.poly.4 4.243013e-03 0 4.243013e-03
## 26 Latitude 3.662706e-03 1 3.662706e-03
## 1 .rnorm 2.681368e-03 0 2.681368e-03
## 28 Longitude -8.939127e-05 1 8.939127e-05
## 3 Beat -8.795233e-04 0 8.795233e-04
## 4 CommunityArea -1.896866e-03 1 1.896866e-03
## 19 Date.wkday.fctr -2.961088e-03 0 2.961088e-03
## 5 Date.date.fctr -3.245302e-03 0 3.245302e-03
## 23 District -3.776188e-03 1 3.776188e-03
## 16 Date.month.fctr -7.958042e-03 0 7.958042e-03
## 8 Date.day.minutes.poly.3 -1.084848e-02 0 1.084848e-02
## 14 Date.last100.log -1.727958e-02 0 1.727958e-02
## 7 Date.day.minutes.poly.2 -2.970140e-02 0 2.970140e-02
## 21 Date.year.fctr -8.918899e-02 0 8.918899e-02
## 29 Year -8.918899e-02 0 8.918899e-02
## 17 Date.POSIX -8.960446e-02 1 8.960446e-02
## 25 ID -8.976835e-02 1 8.976835e-02
## 22 Date.zoo -8.979996e-02 1 8.979996e-02
## 18 Date.second.fctr NA 0 NA
## cor.high.X freqRatio percentUnique zeroVar nzv myNearZV
## 2 <NA> 11.335448 1.490891e-03 FALSE FALSE FALSE
## 27 <NA> 10.607098 1.416346e-02 FALSE FALSE FALSE
## 15 <NA> 2.832650 2.981781e-03 FALSE FALSE FALSE
## 12 <NA> 1.679755 2.407788e-01 FALSE FALSE FALSE
## 24 <NA> 444.674419 1.490891e-03 FALSE TRUE FALSE
## 10 <NA> 1.176636 1.060769e+00 FALSE FALSE FALSE
## 20 <NA> 2.569760 1.490891e-03 FALSE FALSE FALSE
## 6 <NA> 1.176636 1.060023e+00 FALSE FALSE FALSE
## 11 Date.day.minutes.poly.1 1.575236 2.236336e-03 FALSE FALSE FALSE
## 13 <NA> 1.020011 6.559919e-01 FALSE FALSE FALSE
## 9 <NA> 1.176636 1.060023e+00 FALSE FALSE FALSE
## 26 <NA> 1.097143 2.335331e+01 FALSE FALSE FALSE
## 1 <NA> 1.000000 9.957584e+01 FALSE FALSE FALSE
## 28 <NA> 1.840000 1.772520e+01 FALSE FALSE FALSE
## 3 <NA> 1.039497 2.236336e-01 FALSE FALSE FALSE
## 4 <NA> 1.519541 5.739929e-02 FALSE FALSE FALSE
## 19 <NA> 1.072826 5.218117e-03 FALSE FALSE FALSE
## 5 <NA> 1.138742 3.727227e-03 FALSE FALSE FALSE
## 23 <NA> 1.020636 1.938158e-02 FALSE FALSE FALSE
## 16 <NA> 1.016951 8.945344e-03 FALSE FALSE FALSE
## 8 <NA> 1.176636 1.060023e+00 FALSE FALSE FALSE
## 14 <NA> 1.059665 2.520351e+00 FALSE FALSE FALSE
## 7 <NA> 1.176636 1.060023e+00 FALSE FALSE FALSE
## 21 <NA> 1.088745 8.945344e-03 FALSE FALSE FALSE
## 29 Date.year.fctr 1.088745 8.945344e-03 FALSE FALSE FALSE
## 17 <NA> 1.125000 7.563437e+01 FALSE FALSE FALSE
## 25 <NA> 1.000000 1.000000e+02 FALSE FALSE FALSE
## 22 <NA> 1.111111 7.554492e+01 FALSE FALSE FALSE
## 18 <NA> 0.000000 7.454453e-04 TRUE TRUE TRUE
## is.cor.y.abs.low
## 2 FALSE
## 27 FALSE
## 15 FALSE
## 12 FALSE
## 24 FALSE
## 10 FALSE
## 20 FALSE
## 6 FALSE
## 11 FALSE
## 13 FALSE
## 9 FALSE
## 26 FALSE
## 1 FALSE
## 28 TRUE
## 3 TRUE
## 4 TRUE
## 19 FALSE
## 5 FALSE
## 23 FALSE
## 16 FALSE
## 8 FALSE
## 14 FALSE
## 7 FALSE
## 21 FALSE
## 29 FALSE
## 17 FALSE
## 25 FALSE
## 22 FALSE
## 18 NA
#subset(glb_feats_df, id %in% c("A.nuppr.log", "S.nuppr.log"))
print(myplot_scatter(glb_feats_df, "percentUnique", "freqRatio",
colorcol_name="myNearZV", jitter=TRUE) +
geom_point(aes(shape=nzv)) + xlim(-5, 25))
## Warning in myplot_scatter(glb_feats_df, "percentUnique", "freqRatio",
## colorcol_name = "myNearZV", : converting myNearZV to class:factor
## Warning in loop_apply(n, do.ply): Removed 4 rows containing missing values
## (geom_point).
## Warning in loop_apply(n, do.ply): Removed 4 rows containing missing values
## (geom_point).
## Warning in loop_apply(n, do.ply): Removed 4 rows containing missing values
## (geom_point).
print(subset(glb_feats_df, myNearZV))
## id cor.y exclude.as.feat cor.y.abs cor.high.X freqRatio
## 18 Date.second.fctr NA 0 NA <NA> 0
## percentUnique zeroVar nzv myNearZV is.cor.y.abs.low
## 18 0.0007454453 TRUE TRUE TRUE NA
glb_allobs_df <- glb_allobs_df[, setdiff(names(glb_allobs_df),
subset(glb_feats_df, myNearZV)$id)]
if (!is.null(glb_interaction_only_features))
glb_feats_df[glb_feats_df$id %in% glb_interaction_only_features, "interaction.feat"] <-
names(glb_interaction_only_features) else
glb_feats_df$interaction.feat <- NA
mycheck_problem_data(glb_allobs_df, terminate = TRUE)
## [1] "numeric data missing in : "
## District CommunityArea Latitude Longitude
## 43056 24616 2276 2276
## [1] "numeric data w/ 0s in : "
## Arrest Domestic CommunityArea Date.wkday.fctr
## 176105 191226 2 26316
## Date.wkend Date.last1.log Date.last10.log Date.last100.log
## 137849 59966 11 100
## [1] "numeric data w/ Infs in : "
## named integer(0)
## [1] "numeric data w/ NaNs in : "
## named integer(0)
## [1] "string data missing in : "
## Date LocationDescription LocationDescription.my
## 0 0 0
glb_chunks_df <- myadd_chunk(glb_chunks_df, "partition.data.training", major.inc=TRUE)
## label step_major step_minor bgn end elapsed
## 8 select.features 5 0 124.625 151.653 27.028
## 9 partition.data.training 6 0 151.653 NA NA
6.0: partition data trainingif (all(is.na(glb_newobs_df[, glb_rsp_var]))) {
require(caTools)
set.seed(glb_split_sample.seed)
split <- sample.split(glb_trnobs_df[, glb_rsp_var_raw],
SplitRatio=1 - (nrow(glb_newobs_df) * 1.1 / nrow(glb_trnobs_df)))
glb_fitobs_df <- glb_trnobs_df[split, ]
glb_OOBobs_df <- glb_trnobs_df[!split ,]
} else {
print(sprintf("Newdata contains non-NA data for %s; setting OOB to Newdata",
glb_rsp_var))
glb_fitobs_df <- glb_trnobs_df; glb_OOBobs_df <- glb_newobs_df
}
## [1] "Newdata contains non-NA data for Arrest.fctr; setting OOB to Newdata"
if (!is.null(glb_max_fitent_obs) && (nrow(glb_fitobs_df) > glb_max_fitent_obs)) {
warning("glb_fitobs_df restricted to glb_max_fitent_obs: ",
format(glb_max_fitent_obs, big.mark=","))
org_fitent_df <- glb_fitobs_df
glb_fitobs_df <-
org_fitent_df[split <- sample.split(org_fitent_df[, glb_rsp_var_raw],
SplitRatio=glb_max_fitent_obs), ]
org_fitent_df <- NULL
}
glb_allobs_df$.lcn <- ""
glb_allobs_df[glb_allobs_df[, glb_id_vars] %in%
glb_fitobs_df[, glb_id_vars], ".lcn"] <- "Fit"
glb_allobs_df[glb_allobs_df[, glb_id_vars] %in%
glb_OOBobs_df[, glb_id_vars], ".lcn"] <- "OOB"
dsp_class_dstrb <- function(obs_df, location_var, partition_var) {
xtab_df <- mycreate_xtab_df(obs_df, c(location_var, partition_var))
rownames(xtab_df) <- xtab_df[, location_var]
xtab_df <- xtab_df[, -grepl(location_var, names(xtab_df))]
print(xtab_df)
print(xtab_df / rowSums(xtab_df, na.rm=TRUE))
}
# Ensure proper splits by glb_rsp_var_raw & user-specified feature for OOB vs. new
if (!is.null(glb_category_vars)) {
dsp_class_dstrb(glb_allobs_df, ".lcn", glb_rsp_var_raw)
newent_ctgry_df <- mycreate_sqlxtab_df(subset(glb_allobs_df, .src == "Test"),
"myCategory")
OOBobs_ctgry_df <- mycreate_sqlxtab_df(subset(glb_allobs_df, .lcn == "OOB"),
"myCategory")
glb_ctgry_df <- merge(newent_ctgry_df, OOBobs_ctgry_df, by="myCategory", all=TRUE,
suffixes=c(".Tst", ".OOB"))
glb_ctgry_df$.freqRatio.Tst <- glb_ctgry_df$.n.Tst / sum(glb_ctgry_df$.n.Tst, na.rm=TRUE)
glb_ctgry_df$.freqRatio.OOB <- glb_ctgry_df$.n.OOB / sum(glb_ctgry_df$.n.OOB, na.rm=TRUE)
print(orderBy(~-.freqRatio.Tst-.freqRatio.OOB, glb_ctgry_df))
}
# Run this line by line
print("glb_feats_df:"); print(dim(glb_feats_df))
## [1] "glb_feats_df:"
## [1] 29 12
sav_feats_df <- glb_feats_df
glb_feats_df <- sav_feats_df
glb_feats_df[, "rsp_var_raw"] <- FALSE
glb_feats_df[glb_feats_df$id == glb_rsp_var_raw, "rsp_var_raw"] <- TRUE
glb_feats_df$exclude.as.feat <- (glb_feats_df$exclude.as.feat == 1)
if (!is.null(glb_id_vars) && glb_id_vars != ".rownames")
glb_feats_df[glb_feats_df$id %in% glb_id_vars, "id_var"] <- TRUE
add_feats_df <- data.frame(id=glb_rsp_var, exclude.as.feat=TRUE, rsp_var=TRUE)
row.names(add_feats_df) <- add_feats_df$id; print(add_feats_df)
## id exclude.as.feat rsp_var
## Arrest.fctr Arrest.fctr TRUE TRUE
glb_feats_df <- myrbind_df(glb_feats_df, add_feats_df)
print(subset(glb_feats_df, rsp_var_raw | rsp_var | id_var))
## id cor.y exclude.as.feat cor.y.abs cor.high.X
## 2 Arrest 1.00000000 TRUE 1.00000000 <NA>
## 25 ID -0.08976835 TRUE 0.08976835 <NA>
## Arrest.fctr Arrest.fctr NA TRUE NA <NA>
## freqRatio percentUnique zeroVar nzv myNearZV
## 2 11.33545 1.490891e-03 FALSE FALSE FALSE
## 25 1.00000 1.000000e+02 FALSE FALSE FALSE
## Arrest.fctr NA NA NA NA NA
## is.cor.y.abs.low interaction.feat rsp_var_raw id_var rsp_var
## 2 FALSE NA TRUE NA NA
## 25 FALSE NA FALSE TRUE NA
## Arrest.fctr NA NA NA NA TRUE
print("glb_feats_df vs. glb_allobs_df: ");
## [1] "glb_feats_df vs. glb_allobs_df: "
print(setdiff(glb_feats_df$id, names(glb_allobs_df)))
## [1] "Date.second.fctr"
print("glb_allobs_df vs. glb_feats_df: ");
## [1] "glb_allobs_df vs. glb_feats_df: "
# Ensure these are only chr vars
print(setdiff(setdiff(names(glb_allobs_df), glb_feats_df$id),
myfind_chr_cols_df(glb_allobs_df)))
## character(0)
#print(setdiff(setdiff(names(glb_allobs_df), glb_exclude_vars_as_features),
# glb_feats_df$id))
print("glb_allobs_df: "); print(dim(glb_allobs_df))
## [1] "glb_allobs_df: "
## [1] 191641 34
print("glb_trnobs_df: "); print(dim(glb_trnobs_df))
## [1] "glb_trnobs_df: "
## [1] 134148 34
print("glb_fitobs_df: "); print(dim(glb_fitobs_df))
## [1] "glb_fitobs_df: "
## [1] 134148 34
print("glb_OOBobs_df: "); print(dim(glb_OOBobs_df))
## [1] "glb_OOBobs_df: "
## [1] 57493 34
print("glb_newobs_df: "); print(dim(glb_newobs_df))
## [1] "glb_newobs_df: "
## [1] 57493 34
# # Does not handle NULL or length(glb_id_vars) > 1
# glb_allobs_df$.src.trn <- 0
# glb_allobs_df[glb_allobs_df[, glb_id_vars] %in% glb_trnobs_df[, glb_id_vars],
# ".src.trn"] <- 1
# glb_allobs_df$.src.fit <- 0
# glb_allobs_df[glb_allobs_df[, glb_id_vars] %in% glb_fitobs_df[, glb_id_vars],
# ".src.fit"] <- 1
# glb_allobs_df$.src.OOB <- 0
# glb_allobs_df[glb_allobs_df[, glb_id_vars] %in% glb_OOBobs_df[, glb_id_vars],
# ".src.OOB"] <- 1
# glb_allobs_df$.src.new <- 0
# glb_allobs_df[glb_allobs_df[, glb_id_vars] %in% glb_newobs_df[, glb_id_vars],
# ".src.new"] <- 1
# #print(unique(glb_allobs_df[, ".src.trn"]))
# write_cols <- c(glb_feats_df$id,
# ".src.trn", ".src.fit", ".src.OOB", ".src.new")
# glb_allobs_df <- glb_allobs_df[, write_cols]
#
# tmp_feats_df <- glb_feats_df
# tmp_entity_df <- glb_allobs_df
if (glb_save_envir)
save(glb_feats_df,
glb_allobs_df, #glb_trnobs_df, glb_fitobs_df, glb_OOBobs_df, glb_newobs_df,
file=paste0(glb_out_pfx, "blddfs_dsk.RData"))
# load(paste0(glb_out_pfx, "blddfs_dsk.RData"))
# if (!all.equal(tmp_feats_df, glb_feats_df))
# stop("glb_feats_df r/w not working")
# if (!all.equal(tmp_entity_df, glb_allobs_df))
# stop("glb_allobs_df r/w not working")
rm(split)
glb_chunks_df <- myadd_chunk(glb_chunks_df, "fit.models", major.inc=TRUE)
## label step_major step_minor bgn end elapsed
## 9 partition.data.training 6 0 151.653 152.067 0.414
## 10 fit.models 7 0 152.068 NA NA
7.0: fit models# load(paste0(glb_out_pfx, "dsk.RData"))
# keep_cols <- setdiff(names(glb_allobs_df),
# grep("^.src", names(glb_allobs_df), value=TRUE))
# glb_trnobs_df <- glb_allobs_df[glb_allobs_df$.src.trn == 1, keep_cols]
# glb_fitobs_df <- glb_allobs_df[glb_allobs_df$.src.fit == 1, keep_cols]
# glb_OOBobs_df <- glb_allobs_df[glb_allobs_df$.src.OOB == 1, keep_cols]
# glb_newobs_df <- glb_allobs_df[glb_allobs_df$.src.new == 1, keep_cols]
#
# glb_models_lst <- list(); glb_models_df <- data.frame()
#
if (glb_is_classification && glb_is_binomial &&
(length(unique(glb_fitobs_df[, glb_rsp_var])) < 2))
stop("glb_fitobs_df$", glb_rsp_var, ": contains less than 2 unique values: ",
paste0(unique(glb_fitobs_df[, glb_rsp_var]), collapse=", "))
max_cor_y_x_vars <- orderBy(~ -cor.y.abs,
subset(glb_feats_df, (exclude.as.feat == 0) & !is.cor.y.abs.low &
is.na(cor.high.X)))[1:2, "id"]
# while(length(max_cor_y_x_vars) < 2) {
# max_cor_y_x_vars <- c(max_cor_y_x_vars, orderBy(~ -cor.y.abs,
# subset(glb_feats_df, (exclude.as.feat == 0) & !is.cor.y.abs.low))[3, "id"])
# }
if (!is.null(glb_Baseline_mdl_var)) {
if ((max_cor_y_x_vars[1] != glb_Baseline_mdl_var) &
(glb_feats_df[max_cor_y_x_vars[1], "cor.y.abs"] >
glb_feats_df[glb_Baseline_mdl_var, "cor.y.abs"]))
stop(max_cor_y_x_vars[1], " has a lower correlation with ", glb_rsp_var,
" than the Baseline var: ", glb_Baseline_mdl_var)
}
glb_model_type <- ifelse(glb_is_regression, "regression", "classification")
# Baseline
if (!is.null(glb_Baseline_mdl_var))
ret_lst <- myfit_mdl_fn(model_id="Baseline", model_method="mybaseln_classfr",
indep_vars_vctr=glb_Baseline_mdl_var,
rsp_var=glb_rsp_var, rsp_var_out=glb_rsp_var_out,
fit_df=glb_fitobs_df, OOB_df=glb_OOBobs_df)
# Most Frequent Outcome "MFO" model: mean(y) for regression
# Not using caret's nullModel since model stats not avl
# Cannot use rpart for multinomial classification since it predicts non-MFO
ret_lst <- myfit_mdl(model_id="MFO",
model_method=ifelse(glb_is_regression, "lm", "myMFO_classfr"),
model_type=glb_model_type,
indep_vars_vctr=".rnorm",
rsp_var=glb_rsp_var, rsp_var_out=glb_rsp_var_out,
fit_df=glb_fitobs_df, OOB_df=glb_OOBobs_df)
## [1] "fitting model: MFO.myMFO_classfr"
## [1] " indep_vars: .rnorm"
## Fitting parameter = none on full training set
## [1] "in MFO.Classifier$fit"
## [1] "unique.vals:"
## [1] F T
## Levels: F T
## [1] "unique.prob:"
## y
## F T
## 0.91893282 0.08106718
## [1] "MFO.val:"
## [1] "F"
## Length Class Mode
## unique.vals 2 factor numeric
## unique.prob 2 -none- numeric
## MFO.val 1 -none- character
## x.names 1 -none- character
## xNames 1 -none- character
## problemType 1 -none- character
## tuneValue 1 data.frame list
## obsLevels 2 -none- character
## [1] " calling mypredict_mdl for fit:"
## Loading required package: ROCR
## Loading required package: gplots
##
## Attaching package: 'gplots'
##
## The following object is masked from 'package:stats':
##
## lowess
## [1] "in MFO.Classifier$prob"
## F T
## 1 0.9189328 0.08106718
## 2 0.9189328 0.08106718
## 3 0.9189328 0.08106718
## 4 0.9189328 0.08106718
## 5 0.9189328 0.08106718
## 6 0.9189328 0.08106718
## [1] "Classifier Probability Threshold: 0.5000 to maximize f.score.fit"
## Arrest.fctr Arrest.fctr.predict.MFO.myMFO_classfr.F
## 1 F 123273
## 2 T 10875
## Warning in ni[1:m] * nj[1:m]: NAs produced by integer overflow
## Prediction
## Reference F T
## F 123273 0
## T 10875 0
## Accuracy Kappa AccuracyLower AccuracyUpper AccuracyNull
## 0.9189328 NA 0.9174595 0.9203880 0.9189328
## AccuracyPValue McnemarPValue
## 0.5025526 0.0000000
## [1] " calling mypredict_mdl for OOB:"
## [1] "in MFO.Classifier$prob"
## F T
## 1 0.9189328 0.08106718
## 2 0.9189328 0.08106718
## 3 0.9189328 0.08106718
## 4 0.9189328 0.08106718
## 5 0.9189328 0.08106718
## 6 0.9189328 0.08106718
## [1] "Classifier Probability Threshold: 0.5000 to maximize f.score.OOB"
## Arrest.fctr Arrest.fctr.predict.MFO.myMFO_classfr.F
## 1 F 52832
## 2 T 4661
## Warning in ni[1:m] * nj[1:m]: NAs produced by integer overflow
## Prediction
## Reference F T
## F 52832 0
## T 4661 0
## Accuracy Kappa AccuracyLower AccuracyUpper AccuracyNull
## 0.9189293 NA 0.9166683 0.9211478 0.9189293
## AccuracyPValue McnemarPValue
## 0.5038990 0.0000000
## model_id model_method feats max.nTuningRuns
## 1 MFO.myMFO_classfr myMFO_classfr .rnorm 0
## min.elapsedtime.everything min.elapsedtime.final max.auc.fit
## 1 0.519 0.017 0.5
## opt.prob.threshold.fit max.f.score.fit max.Accuracy.fit
## 1 0.5 0 0.9189328
## max.AccuracyLower.fit max.AccuracyUpper.fit max.Kappa.fit max.auc.OOB
## 1 0.9174595 0.920388 NA 0.5
## opt.prob.threshold.OOB max.f.score.OOB max.Accuracy.OOB
## 1 0.5 0 0.9189293
## max.AccuracyLower.OOB max.AccuracyUpper.OOB max.Kappa.OOB
## 1 0.9166683 0.9211478 NA
if (glb_is_classification)
# "random" model - only for classification;
# none needed for regression since it is same as MFO
ret_lst <- myfit_mdl(model_id="Random", model_method="myrandom_classfr",
model_type=glb_model_type,
indep_vars_vctr=".rnorm",
rsp_var=glb_rsp_var, rsp_var_out=glb_rsp_var_out,
fit_df=glb_fitobs_df, OOB_df=glb_OOBobs_df)
## [1] "fitting model: Random.myrandom_classfr"
## [1] " indep_vars: .rnorm"
## Fitting parameter = none on full training set
## Length Class Mode
## unique.vals 2 factor numeric
## unique.prob 2 table numeric
## xNames 1 -none- character
## problemType 1 -none- character
## tuneValue 1 data.frame list
## obsLevels 2 -none- character
## [1] " calling mypredict_mdl for fit:"
## [1] "in Random.Classifier$prob"
## threshold f.score
## 1 0.0 0.14997621
## 2 0.1 0.08212627
## 3 0.2 0.08212627
## 4 0.3 0.08212627
## 5 0.4 0.08212627
## 6 0.5 0.08212627
## 7 0.6 0.08212627
## 8 0.7 0.08212627
## 9 0.8 0.08212627
## 10 0.9 0.08212627
## 11 1.0 0.00000000
## [1] "Classifier Probability Threshold: 0.0000 to maximize f.score.fit"
## Arrest.fctr Arrest.fctr.predict.Random.myrandom_classfr.T
## 1 F 123273
## 2 T 10875
## Prediction
## Reference F T
## F 0 123273
## T 0 10875
## Accuracy Kappa AccuracyLower AccuracyUpper AccuracyNull
## 0.08106718 0.00000000 0.07961195 0.08254054 0.91893282
## AccuracyPValue McnemarPValue
## 1.00000000 0.00000000
## [1] " calling mypredict_mdl for OOB:"
## [1] "in Random.Classifier$prob"
## threshold f.score
## 1 0.0 0.14998230
## 2 0.1 0.07732789
## 3 0.2 0.07732789
## 4 0.3 0.07732789
## 5 0.4 0.07732789
## 6 0.5 0.07732789
## 7 0.6 0.07732789
## 8 0.7 0.07732789
## 9 0.8 0.07732789
## 10 0.9 0.07732789
## 11 1.0 0.00000000
## [1] "Classifier Probability Threshold: 0.0000 to maximize f.score.OOB"
## Arrest.fctr Arrest.fctr.predict.Random.myrandom_classfr.T
## 1 F 52832
## 2 T 4661
## Prediction
## Reference F T
## F 0 52832
## T 0 4661
## Accuracy Kappa AccuracyLower AccuracyUpper AccuracyNull
## 0.08107074 0.00000000 0.07885216 0.08333172 0.91892926
## AccuracyPValue McnemarPValue
## 1.00000000 0.00000000
## model_id model_method feats max.nTuningRuns
## 1 Random.myrandom_classfr myrandom_classfr .rnorm 0
## min.elapsedtime.everything min.elapsedtime.final max.auc.fit
## 1 0.472 0.015 0.5005823
## opt.prob.threshold.fit max.f.score.fit max.Accuracy.fit
## 1 0 0.1499762 0.08106718
## max.AccuracyLower.fit max.AccuracyUpper.fit max.Kappa.fit max.auc.OOB
## 1 0.07961195 0.08254054 0 0.4980179
## opt.prob.threshold.OOB max.f.score.OOB max.Accuracy.OOB
## 1 0 0.1499823 0.08107074
## max.AccuracyLower.OOB max.AccuracyUpper.OOB max.Kappa.OOB
## 1 0.07885216 0.08333172 0
# Any models that have tuning parameters has "better" results with cross-validation
# (except rf) & "different" results for different outcome metrics
# Max.cor.Y
# Check impact of cv
# rpart is not a good candidate since caret does not optimize cp (only tuning parameter of rpart) well
ret_lst <- myfit_mdl(model_id="Max.cor.Y.cv.0",
model_method="rpart",
model_type=glb_model_type,
indep_vars_vctr=max_cor_y_x_vars,
rsp_var=glb_rsp_var, rsp_var_out=glb_rsp_var_out,
fit_df=glb_fitobs_df, OOB_df=glb_OOBobs_df)
## [1] "fitting model: Max.cor.Y.cv.0.rpart"
## [1] " indep_vars: Date.year.fctr, LocationDescription.my.fctr"
## Loading required package: rpart
## Fitting cp = 7.66e-06 on full training set
## Loading required package: rpart.plot
## Call:
## rpart(formula = .outcome ~ ., control = list(minsplit = 20, minbucket = 7,
## cp = 0, maxcompete = 4, maxsurrogate = 5, usesurrogate = 2,
## surrogatestyle = 0, maxdepth = 30, xval = 0))
## n= 134148
##
## CP nsplit rel error
## 1 7.662835e-06 0 1
##
## Node number 1: 134148 observations
## predicted class=F expected loss=0.08106718 P(node) =1
## class counts: 123273 10875
## probabilities: 0.919 0.081
##
## n= 134148
##
## node), split, n, loss, yval, (yprob)
## * denotes terminal node
##
## 1) root 134148 10875 F (0.91893282 0.08106718) *
## [1] " calling mypredict_mdl for fit:"
## [1] "Classifier Probability Threshold: 0.5000 to maximize f.score.fit"
## Arrest.fctr Arrest.fctr.predict.Max.cor.Y.cv.0.rpart.F
## 1 F 123273
## 2 T 10875
## Warning in ni[1:m] * nj[1:m]: NAs produced by integer overflow
## Prediction
## Reference F T
## F 123273 0
## T 10875 0
## Accuracy Kappa AccuracyLower AccuracyUpper AccuracyNull
## 0.9189328 NA 0.9174595 0.9203880 0.9189328
## AccuracyPValue McnemarPValue
## 0.5025526 0.0000000
## [1] " calling mypredict_mdl for OOB:"
## [1] "Classifier Probability Threshold: 0.5000 to maximize f.score.OOB"
## Arrest.fctr Arrest.fctr.predict.Max.cor.Y.cv.0.rpart.F
## 1 F 52832
## 2 T 4661
## Warning in ni[1:m] * nj[1:m]: NAs produced by integer overflow
## Prediction
## Reference F T
## F 52832 0
## T 4661 0
## Accuracy Kappa AccuracyLower AccuracyUpper AccuracyNull
## 0.9189293 NA 0.9166683 0.9211478 0.9189293
## AccuracyPValue McnemarPValue
## 0.5038990 0.0000000
## model_id model_method
## 1 Max.cor.Y.cv.0.rpart rpart
## feats max.nTuningRuns
## 1 Date.year.fctr, LocationDescription.my.fctr 0
## min.elapsedtime.everything min.elapsedtime.final max.auc.fit
## 1 30.702 10.069 0.5
## opt.prob.threshold.fit max.f.score.fit max.Accuracy.fit
## 1 0.5 0 0.9189328
## max.AccuracyLower.fit max.AccuracyUpper.fit max.Kappa.fit max.auc.OOB
## 1 0.9174595 0.920388 NA 0.5
## opt.prob.threshold.OOB max.f.score.OOB max.Accuracy.OOB
## 1 0.5 0 0.9189293
## max.AccuracyLower.OOB max.AccuracyUpper.OOB max.Kappa.OOB
## 1 0.9166683 0.9211478 NA
ret_lst <- myfit_mdl(model_id="Max.cor.Y.cv.0.cp.0",
model_method="rpart",
model_type=glb_model_type,
indep_vars_vctr=max_cor_y_x_vars,
rsp_var=glb_rsp_var, rsp_var_out=glb_rsp_var_out,
fit_df=glb_fitobs_df, OOB_df=glb_OOBobs_df,
n_cv_folds=0,
tune_models_df=data.frame(parameter="cp", min=0.0, max=0.0, by=0.1))
## [1] "fitting model: Max.cor.Y.cv.0.cp.0.rpart"
## [1] " indep_vars: Date.year.fctr, LocationDescription.my.fctr"
## Fitting cp = 0 on full training set
## Call:
## rpart(formula = .outcome ~ ., control = list(minsplit = 20, minbucket = 7,
## cp = 0, maxcompete = 4, maxsurrogate = 5, usesurrogate = 2,
## surrogatestyle = 0, maxdepth = 30, xval = 0))
## n= 134148
##
## CP nsplit rel error
## 1 7.662835e-06 0 1.000000
## 2 0.000000e+00 12 0.999908
##
## Variable importance
## LocationDescription.my.fctrGAS STATION
## 22
## Date.year.fctr2010
## 19
## Date.year.fctr2012
## 17
## Date.year.fctr2011
## 15
## LocationDescription.my.fctrAIRPORT
## 7
## LocationDescription.my.fctrPARKING LOT/GARAGE(NON.RESID.)
## 5
## Date.year.fctr2002
## 5
## Date.year.fctr2003
## 4
## LocationDescription.my.fctrOTHER
## 2
## Date.year.fctr2008
## 2
## LocationDescription.my.fctrHOTEL/MOTEL
## 2
## Date.year.fctr2005
## 1
##
## Node number 1: 134148 observations, complexity param=7.662835e-06
## predicted class=F expected loss=0.08106718 P(node) =1
## class counts: 123273 10875
## probabilities: 0.919 0.081
## left son=2 (132656 obs) right son=3 (1492 obs)
## Primary splits:
## LocationDescription.my.fctrGAS STATION < 0.5 to the left, improve=52.10055, (0 missing)
## Date.year.fctr2011 < 0.5 to the right, improve=38.71113, (0 missing)
## Date.year.fctr2012 < 0.5 to the right, improve=36.01888, (0 missing)
## Date.year.fctr2010 < 0.5 to the right, improve=32.75904, (0 missing)
## Date.year.fctr2002 < 0.5 to the left, improve=30.88375, (0 missing)
##
## Node number 2: 132656 observations, complexity param=7.662835e-06
## predicted class=F expected loss=0.07958931 P(node) =0.988878
## class counts: 122098 10558
## probabilities: 0.920 0.080
## left son=4 (10860 obs) right son=5 (121796 obs)
## Primary splits:
## Date.year.fctr2011 < 0.5 to the right, improve=36.97402, (0 missing)
## Date.year.fctr2012 < 0.5 to the right, improve=34.24515, (0 missing)
## Date.year.fctr2010 < 0.5 to the right, improve=31.05307, (0 missing)
## Date.year.fctr2002 < 0.5 to the left, improve=30.00193, (0 missing)
## LocationDescription.my.fctrAIRPORT < 0.5 to the left, improve=22.50704, (0 missing)
##
## Node number 3: 1492 observations
## predicted class=F expected loss=0.2124665 P(node) =0.01112204
## class counts: 1175 317
## probabilities: 0.788 0.212
##
## Node number 4: 10860 observations
## predicted class=F expected loss=0.04005525 P(node) =0.08095536
## class counts: 10425 435
## probabilities: 0.960 0.040
##
## Node number 5: 121796 observations, complexity param=7.662835e-06
## predicted class=F expected loss=0.08311439 P(node) =0.9079226
## class counts: 111673 10123
## probabilities: 0.917 0.083
## left son=10 (9853 obs) right son=11 (111943 obs)
## Primary splits:
## Date.year.fctr2012 < 0.5 to the right, improve=40.82114, (0 missing)
## Date.year.fctr2010 < 0.5 to the right, improve=37.72474, (0 missing)
## Date.year.fctr2002 < 0.5 to the left, improve=24.04180, (0 missing)
## LocationDescription.my.fctrAIRPORT < 0.5 to the left, improve=21.22585, (0 missing)
## LocationDescription.my.fctrPARKING LOT/GARAGE(NON.RESID.) < 0.5 to the left, improve=15.87090, (0 missing)
##
## Node number 10: 9853 observations
## predicted class=F expected loss=0.03948036 P(node) =0.07344873
## class counts: 9464 389
## probabilities: 0.961 0.039
##
## Node number 11: 111943 observations, complexity param=7.662835e-06
## predicted class=F expected loss=0.08695497 P(node) =0.8344739
## class counts: 102209 9734
## probabilities: 0.913 0.087
## left son=22 (10957 obs) right son=23 (100986 obs)
## Primary splits:
## Date.year.fctr2010 < 0.5 to the right, improve=45.79944, (0 missing)
## Date.year.fctr2002 < 0.5 to the left, improve=18.24240, (0 missing)
## LocationDescription.my.fctrAIRPORT < 0.5 to the left, improve=17.92186, (0 missing)
## LocationDescription.my.fctrPARKING LOT/GARAGE(NON.RESID.) < 0.5 to the left, improve=14.68293, (0 missing)
## Date.year.fctr2003 < 0.5 to the left, improve=10.63353, (0 missing)
##
## Node number 22: 10957 observations
## predicted class=F expected loss=0.04353381 P(node) =0.08167844
## class counts: 10480 477
## probabilities: 0.956 0.044
##
## Node number 23: 100986 observations, complexity param=7.662835e-06
## predicted class=F expected loss=0.09166617 P(node) =0.7527954
## class counts: 91729 9257
## probabilities: 0.908 0.092
## left son=46 (100747 obs) right son=47 (239 obs)
## Primary splits:
## LocationDescription.my.fctrAIRPORT < 0.5 to the left, improve=17.055170, (0 missing)
## LocationDescription.my.fctrPARKING LOT/GARAGE(NON.RESID.) < 0.5 to the left, improve=12.529740, (0 missing)
## Date.year.fctr2002 < 0.5 to the left, improve=12.171520, (0 missing)
## Date.year.fctr2008 < 0.5 to the right, improve=10.335150, (0 missing)
## Date.year.fctr2009 < 0.5 to the right, improve= 8.128927, (0 missing)
##
## Node number 46: 100747 observations, complexity param=7.662835e-06
## predicted class=F expected loss=0.0912186 P(node) =0.7510138
## class counts: 91557 9190
## probabilities: 0.909 0.091
## left son=92 (92247 obs) right son=93 (8500 obs)
## Primary splits:
## LocationDescription.my.fctrPARKING LOT/GARAGE(NON.RESID.) < 0.5 to the left, improve=12.967990, (0 missing)
## Date.year.fctr2002 < 0.5 to the left, improve=12.711420, (0 missing)
## Date.year.fctr2008 < 0.5 to the right, improve= 9.979031, (0 missing)
## Date.year.fctr2009 < 0.5 to the right, improve= 7.692268, (0 missing)
## Date.year.fctr2003 < 0.5 to the left, improve= 6.347408, (0 missing)
##
## Node number 47: 239 observations
## predicted class=F expected loss=0.2803347 P(node) =0.001781614
## class counts: 172 67
## probabilities: 0.720 0.280
##
## Node number 92: 92247 observations, complexity param=7.662835e-06
## predicted class=F expected loss=0.08878338 P(node) =0.687651
## class counts: 84057 8190
## probabilities: 0.911 0.089
## left son=184 (80589 obs) right son=185 (11658 obs)
## Primary splits:
## Date.year.fctr2002 < 0.5 to the left, improve=11.213610, (0 missing)
## Date.year.fctr2008 < 0.5 to the right, improve= 9.080982, (0 missing)
## LocationDescription.my.fctrHOTEL/MOTEL < 0.5 to the left, improve= 6.475313, (0 missing)
## Date.year.fctr2009 < 0.5 to the right, improve= 6.359029, (0 missing)
## LocationDescription.my.fctrOTHER < 0.5 to the left, improve= 6.194323, (0 missing)
##
## Node number 93: 8500 observations
## predicted class=F expected loss=0.1176471 P(node) =0.06336285
## class counts: 7500 1000
## probabilities: 0.882 0.118
##
## Node number 184: 80589 observations, complexity param=7.662835e-06
## predicted class=F expected loss=0.08581816 P(node) =0.6007469
## class counts: 73673 6916
## probabilities: 0.914 0.086
## left son=368 (70220 obs) right son=369 (10369 obs)
## Primary splits:
## Date.year.fctr2003 < 0.5 to the left, improve=8.517088, (0 missing)
## Date.year.fctr2008 < 0.5 to the right, improve=6.805671, (0 missing)
## LocationDescription.my.fctrOTHER < 0.5 to the left, improve=5.801834, (0 missing)
## LocationDescription.my.fctrHOTEL/MOTEL < 0.5 to the left, improve=5.547405, (0 missing)
## LocationDescription.my.fctrALLEY < 0.5 to the left, improve=5.245722, (0 missing)
##
## Node number 185: 11658 observations
## predicted class=F expected loss=0.1092812 P(node) =0.08690402
## class counts: 10384 1274
## probabilities: 0.891 0.109
##
## Node number 368: 70220 observations, complexity param=7.662835e-06
## predicted class=F expected loss=0.08302478 P(node) =0.5234517
## class counts: 64390 5830
## probabilities: 0.917 0.083
## left son=736 (9277 obs) right son=737 (60943 obs)
## Primary splits:
## Date.year.fctr2008 < 0.5 to the right, improve=4.954014, (0 missing)
## LocationDescription.my.fctrOTHER < 0.5 to the left, improve=4.713634, (0 missing)
## Date.year.fctr2004 < 0.5 to the left, improve=4.679528, (0 missing)
## LocationDescription.my.fctrHOTEL/MOTEL < 0.5 to the left, improve=4.317167, (0 missing)
## LocationDescription.my.fctrALLEY < 0.5 to the left, improve=3.751805, (0 missing)
##
## Node number 369: 10369 observations
## predicted class=F expected loss=0.1047353 P(node) =0.07729523
## class counts: 9283 1086
## probabilities: 0.895 0.105
##
## Node number 736: 9277 observations
## predicted class=F expected loss=0.06780209 P(node) =0.06915496
## class counts: 8648 629
## probabilities: 0.932 0.068
##
## Node number 737: 60943 observations, complexity param=7.662835e-06
## predicted class=F expected loss=0.08534204 P(node) =0.4542967
## class counts: 55742 5201
## probabilities: 0.915 0.085
## left son=1474 (59138 obs) right son=1475 (1805 obs)
## Primary splits:
## LocationDescription.my.fctrOTHER < 0.5 to the left, improve=5.588304, (0 missing)
## Date.year.fctr2009 < 0.5 to the right, improve=4.498378, (0 missing)
## LocationDescription.my.fctrHOTEL/MOTEL < 0.5 to the left, improve=4.449624, (0 missing)
## LocationDescription.my.fctrAPARTMENT < 0.5 to the left, improve=3.586492, (0 missing)
## Date.year.fctr2004 < 0.5 to the left, improve=3.314255, (0 missing)
##
## Node number 1474: 59138 observations, complexity param=7.662835e-06
## predicted class=F expected loss=0.08415909 P(node) =0.4408415
## class counts: 54161 4977
## probabilities: 0.916 0.084
## left son=2948 (59087 obs) right son=2949 (51 obs)
## Primary splits:
## LocationDescription.my.fctrHOTEL/MOTEL < 0.5 to the left, improve=4.500306, (0 missing)
## Date.year.fctr2009 < 0.5 to the right, improve=4.275975, (0 missing)
## LocationDescription.my.fctrAPARTMENT < 0.5 to the left, improve=3.637104, (0 missing)
## LocationDescription.my.fctrALLEY < 0.5 to the left, improve=2.984875, (0 missing)
## Date.year.fctr2004 < 0.5 to the left, improve=2.676421, (0 missing)
##
## Node number 1475: 1805 observations
## predicted class=F expected loss=0.1240997 P(node) =0.01345529
## class counts: 1581 224
## probabilities: 0.876 0.124
##
## Node number 2948: 59087 observations
## predicted class=F expected loss=0.08397786 P(node) =0.4404613
## class counts: 54125 4962
## probabilities: 0.916 0.084
##
## Node number 2949: 51 observations, complexity param=7.662835e-06
## predicted class=F expected loss=0.2941176 P(node) =0.0003801771
## class counts: 36 15
## probabilities: 0.706 0.294
## left son=5898 (40 obs) right son=5899 (11 obs)
## Primary splits:
## Date.year.fctr2005 < 0.5 to the left, improve=1.771925000, (0 missing)
## Date.year.fctr2004 < 0.5 to the right, improve=0.002725414, (0 missing)
##
## Node number 5898: 40 observations
## predicted class=F expected loss=0.225 P(node) =0.0002981781
## class counts: 31 9
## probabilities: 0.775 0.225
##
## Node number 5899: 11 observations
## predicted class=T expected loss=0.4545455 P(node) =8.199899e-05
## class counts: 5 6
## probabilities: 0.455 0.545
##
## n= 134148
##
## node), split, n, loss, yval, (yprob)
## * denotes terminal node
##
## 1) root 134148 10875 F (0.91893282 0.08106718)
## 2) LocationDescription.my.fctrGAS STATION< 0.5 132656 10558 F (0.92041069 0.07958931)
## 4) Date.year.fctr2011>=0.5 10860 435 F (0.95994475 0.04005525) *
## 5) Date.year.fctr2011< 0.5 121796 10123 F (0.91688561 0.08311439)
## 10) Date.year.fctr2012>=0.5 9853 389 F (0.96051964 0.03948036) *
## 11) Date.year.fctr2012< 0.5 111943 9734 F (0.91304503 0.08695497)
## 22) Date.year.fctr2010>=0.5 10957 477 F (0.95646619 0.04353381) *
## 23) Date.year.fctr2010< 0.5 100986 9257 F (0.90833383 0.09166617)
## 46) LocationDescription.my.fctrAIRPORT< 0.5 100747 9190 F (0.90878140 0.09121860)
## 92) LocationDescription.my.fctrPARKING LOT/GARAGE(NON.RESID.)< 0.5 92247 8190 F (0.91121662 0.08878338)
## 184) Date.year.fctr2002< 0.5 80589 6916 F (0.91418184 0.08581816)
## 368) Date.year.fctr2003< 0.5 70220 5830 F (0.91697522 0.08302478)
## 736) Date.year.fctr2008>=0.5 9277 629 F (0.93219791 0.06780209) *
## 737) Date.year.fctr2008< 0.5 60943 5201 F (0.91465796 0.08534204)
## 1474) LocationDescription.my.fctrOTHER< 0.5 59138 4977 F (0.91584091 0.08415909)
## 2948) LocationDescription.my.fctrHOTEL/MOTEL< 0.5 59087 4962 F (0.91602214 0.08397786) *
## 2949) LocationDescription.my.fctrHOTEL/MOTEL>=0.5 51 15 F (0.70588235 0.29411765)
## 5898) Date.year.fctr2005< 0.5 40 9 F (0.77500000 0.22500000) *
## 5899) Date.year.fctr2005>=0.5 11 5 T (0.45454545 0.54545455) *
## 1475) LocationDescription.my.fctrOTHER>=0.5 1805 224 F (0.87590028 0.12409972) *
## 369) Date.year.fctr2003>=0.5 10369 1086 F (0.89526473 0.10473527) *
## 185) Date.year.fctr2002>=0.5 11658 1274 F (0.89071882 0.10928118) *
## 93) LocationDescription.my.fctrPARKING LOT/GARAGE(NON.RESID.)>=0.5 8500 1000 F (0.88235294 0.11764706) *
## 47) LocationDescription.my.fctrAIRPORT>=0.5 239 67 F (0.71966527 0.28033473) *
## 3) LocationDescription.my.fctrGAS STATION>=0.5 1492 317 F (0.78753351 0.21246649) *
## [1] " calling mypredict_mdl for fit:"
## threshold f.score
## 1 0.0 0.149976211
## 2 0.1 0.177065505
## 3 0.2 0.063048116
## 4 0.3 0.001102333
## 5 0.4 0.001102333
## 6 0.5 0.001102333
## 7 0.6 0.000000000
## 8 0.7 0.000000000
## 9 0.8 0.000000000
## 10 0.9 0.000000000
## 11 1.0 0.000000000
## [1] "Classifier Probability Threshold: 0.1000 to maximize f.score.fit"
## Arrest.fctr Arrest.fctr.predict.Max.cor.Y.cv.0.cp.0.rpart.F
## 1 F 93142
## 2 T 6892
## Arrest.fctr.predict.Max.cor.Y.cv.0.cp.0.rpart.T
## 1 30131
## 2 3983
## Warning in ni[1:m] * nj[1:m]: NAs produced by integer overflow
## Prediction
## Reference F T
## F 93142 30131
## T 6892 3983
## Accuracy Kappa AccuracyLower AccuracyUpper AccuracyNull
## 0.7240138 NA 0.7216132 0.7264047 0.9189328
## AccuracyPValue McnemarPValue
## 1.0000000 0.0000000
## [1] " calling mypredict_mdl for OOB:"
## threshold f.score
## 1 0.0 0.1499823020
## 2 0.1 0.1715526602
## 3 0.2 0.0565096953
## 4 0.3 0.0004286327
## 5 0.4 0.0004286327
## 6 0.5 0.0004286327
## 7 0.6 0.0000000000
## 8 0.7 0.0000000000
## 9 0.8 0.0000000000
## 10 0.9 0.0000000000
## 11 1.0 0.0000000000
## [1] "Classifier Probability Threshold: 0.1000 to maximize f.score.OOB"
## Arrest.fctr Arrest.fctr.predict.Max.cor.Y.cv.0.cp.0.rpart.F
## 1 F 39811
## 2 T 3002
## Arrest.fctr.predict.Max.cor.Y.cv.0.cp.0.rpart.T
## 1 13021
## 2 1659
## Warning in ni[1:m] * nj[1:m]: NAs produced by integer overflow
## Prediction
## Reference F T
## F 39811 13021
## T 3002 1659
## Accuracy Kappa AccuracyLower AccuracyUpper AccuracyNull
## 0.7213052 NA 0.7176205 0.7249676 0.9189293
## AccuracyPValue McnemarPValue
## 1.0000000 0.0000000
## model_id model_method
## 1 Max.cor.Y.cv.0.cp.0.rpart rpart
## feats max.nTuningRuns
## 1 Date.year.fctr, LocationDescription.my.fctr 0
## min.elapsedtime.everything min.elapsedtime.final max.auc.fit
## 1 10.881 9.941 0.6010978
## opt.prob.threshold.fit max.f.score.fit max.Accuracy.fit
## 1 0.1 0.1770655 0.7240138
## max.AccuracyLower.fit max.AccuracyUpper.fit max.Kappa.fit max.auc.OOB
## 1 0.7216132 0.7264047 NA 0.5969728
## opt.prob.threshold.OOB max.f.score.OOB max.Accuracy.OOB
## 1 0.1 0.1715527 0.7213052
## max.AccuracyLower.OOB max.AccuracyUpper.OOB max.Kappa.OOB
## 1 0.7176205 0.7249676 NA
if (glb_is_regression || glb_is_binomial) # For multinomials this model will be run next by default
ret_lst <- myfit_mdl(model_id="Max.cor.Y",
model_method="rpart",
model_type=glb_model_type,
indep_vars_vctr=max_cor_y_x_vars,
rsp_var=glb_rsp_var, rsp_var_out=glb_rsp_var_out,
fit_df=glb_fitobs_df, OOB_df=glb_OOBobs_df,
n_cv_folds=glb_n_cv_folds, tune_models_df=NULL)
## [1] "fitting model: Max.cor.Y.rpart"
## [1] " indep_vars: Date.year.fctr, LocationDescription.my.fctr"
## Aggregating results
## Selecting tuning parameters
## Fitting cp = 7.66e-06 on full training set
## Warning in myfit_mdl(model_id = "Max.cor.Y", model_method = "rpart",
## model_type = glb_model_type, : model's bestTune found at an extreme of
## tuneGrid for parameter: cp
## Call:
## rpart(formula = .outcome ~ ., control = list(minsplit = 20, minbucket = 7,
## cp = 0, maxcompete = 4, maxsurrogate = 5, usesurrogate = 2,
## surrogatestyle = 0, maxdepth = 30, xval = 0))
## n= 134148
##
## CP nsplit rel error
## 1 7.662835e-06 0 1
##
## Node number 1: 134148 observations
## predicted class=F expected loss=0.08106718 P(node) =1
## class counts: 123273 10875
## probabilities: 0.919 0.081
##
## n= 134148
##
## node), split, n, loss, yval, (yprob)
## * denotes terminal node
##
## 1) root 134148 10875 F (0.91893282 0.08106718) *
## [1] " calling mypredict_mdl for fit:"
## [1] "Classifier Probability Threshold: 0.5000 to maximize f.score.fit"
## Arrest.fctr Arrest.fctr.predict.Max.cor.Y.rpart.F
## 1 F 123273
## 2 T 10875
## Warning in ni[1:m] * nj[1:m]: NAs produced by integer overflow
## Prediction
## Reference F T
## F 123273 0
## T 10875 0
## Accuracy Kappa AccuracyLower AccuracyUpper AccuracyNull
## 0.9189328 NA 0.9174595 0.9203880 0.9189328
## AccuracyPValue McnemarPValue
## 0.5025526 0.0000000
## [1] " calling mypredict_mdl for OOB:"
## [1] "Classifier Probability Threshold: 0.5000 to maximize f.score.OOB"
## Arrest.fctr Arrest.fctr.predict.Max.cor.Y.rpart.F
## 1 F 52832
## 2 T 4661
## Warning in ni[1:m] * nj[1:m]: NAs produced by integer overflow
## Prediction
## Reference F T
## F 52832 0
## T 4661 0
## Accuracy Kappa AccuracyLower AccuracyUpper AccuracyNull
## 0.9189293 NA 0.9166683 0.9211478 0.9189293
## AccuracyPValue McnemarPValue
## 0.5038990 0.0000000
## model_id model_method feats
## 1 Max.cor.Y.rpart rpart Date.year.fctr, LocationDescription.my.fctr
## max.nTuningRuns min.elapsedtime.everything min.elapsedtime.final
## 1 3 39.392 9.958
## max.auc.fit opt.prob.threshold.fit max.f.score.fit max.Accuracy.fit
## 1 0.5 0.5 0 0.9188732
## max.AccuracyLower.fit max.AccuracyUpper.fit max.Kappa.fit max.auc.OOB
## 1 0.9174595 0.920388 3.473869e-05 0.5
## opt.prob.threshold.OOB max.f.score.OOB max.Accuracy.OOB
## 1 0.5 0 0.9189293
## max.AccuracyLower.OOB max.AccuracyUpper.OOB max.Kappa.OOB
## 1 0.9166683 0.9211478 NA
## max.AccuracySD.fit max.KappaSD.fit
## 1 0.0001032919 6.016917e-05
# Used to compare vs. Interactions.High.cor.Y and/or Max.cor.Y.TmSrs
ret_lst <- myfit_mdl(model_id="Max.cor.Y",
model_method=ifelse(glb_is_regression, "lm",
ifelse(glb_is_binomial, "glm", "rpart")),
model_type=glb_model_type,
indep_vars_vctr=max_cor_y_x_vars,
rsp_var=glb_rsp_var, rsp_var_out=glb_rsp_var_out,
fit_df=glb_fitobs_df, OOB_df=glb_OOBobs_df,
n_cv_folds=glb_n_cv_folds, tune_models_df=NULL)
## [1] "fitting model: Max.cor.Y.glm"
## [1] " indep_vars: Date.year.fctr, LocationDescription.my.fctr"
## Aggregating results
## Fitting final model on full training set
##
## Call:
## NULL
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -0.9201 -0.4415 -0.4006 -0.2891 2.6566
##
## Coefficients:
## Estimate
## (Intercept) -2.27904
## Date.year.fctr2002 0.12262
## Date.year.fctr2003 0.07288
## Date.year.fctr2004 -0.02568
## Date.year.fctr2005 -0.10944
## Date.year.fctr2006 -0.23688
## Date.year.fctr2007 -0.20318
## Date.year.fctr2008 -0.37733
## Date.year.fctr2009 -0.37416
## Date.year.fctr2010 -0.87505
## Date.year.fctr2011 -0.95232
## Date.year.fctr2012 -0.97689
## `LocationDescription.my.fctrPARKING LOT/GARAGE(NON.RESID.)` 0.35256
## LocationDescription.my.fctrOTHER 0.42327
## LocationDescription.my.fctrSTORE 0.30713
## LocationDescription.my.fctrALLEY 0.44752
## `LocationDescription.my.fctrGAS STATION` 1.17154
## `LocationDescription.my.fctrOTHER TRANSPORTATION` 0.25367
## `LocationDescription.my.fctrGOVERNMENT BUILDING/PROPERTY` 0.13405
## `LocationDescription.my.fctrPARK PROPERTY` 0.59767
## LocationDescription.my.fctrSIDEWALK 0.02532
## `LocationDescription.my.fctrVACANT LOT/LAND` -0.08860
## `LocationDescription.my.fctrSCHOOL/COLLEGE` 0.80482
## LocationDescription.my.fctrOFFICE 0.81289
## LocationDescription.my.fctrAPARTMENT 1.10119
## `LocationDescription.my.fctrHOTEL/MOTEL` 1.40448
## LocationDescription.my.fctrAIRPORT 1.51574
## LocationDescription.my.fctrHOSPITAL 0.18660
## `LocationDescription.my.fctrVEHICLE NON-COMMERCIAL` 0.26283
## `LocationDescription.my.fctrSPORTS ARENA/STADIUM` -0.24296
## Std. Error
## (Intercept) 0.02842
## Date.year.fctr2002 0.03906
## Date.year.fctr2003 0.04073
## Date.year.fctr2004 0.04153
## Date.year.fctr2005 0.04256
## Date.year.fctr2006 0.04434
## Date.year.fctr2007 0.04555
## Date.year.fctr2008 0.04771
## Date.year.fctr2009 0.05040
## Date.year.fctr2010 0.05409
## Date.year.fctr2011 0.05585
## Date.year.fctr2012 0.05833
## `LocationDescription.my.fctrPARKING LOT/GARAGE(NON.RESID.)` 0.03394
## LocationDescription.my.fctrOTHER 0.05610
## LocationDescription.my.fctrSTORE 0.05560
## LocationDescription.my.fctrALLEY 0.07865
## `LocationDescription.my.fctrGAS STATION` 0.06484
## `LocationDescription.my.fctrOTHER TRANSPORTATION` 0.39921
## `LocationDescription.my.fctrGOVERNMENT BUILDING/PROPERTY` 0.14222
## `LocationDescription.my.fctrPARK PROPERTY` 0.21650
## LocationDescription.my.fctrSIDEWALK 0.20515
## `LocationDescription.my.fctrVACANT LOT/LAND` 0.15221
## `LocationDescription.my.fctrSCHOOL/COLLEGE` 0.15899
## LocationDescription.my.fctrOFFICE 0.26556
## LocationDescription.my.fctrAPARTMENT 0.22466
## `LocationDescription.my.fctrHOTEL/MOTEL` 0.24584
## LocationDescription.my.fctrAIRPORT 0.13524
## LocationDescription.my.fctrHOSPITAL 0.37296
## `LocationDescription.my.fctrVEHICLE NON-COMMERCIAL` 0.16389
## `LocationDescription.my.fctrSPORTS ARENA/STADIUM` 0.45751
## z value
## (Intercept) -80.186
## Date.year.fctr2002 3.139
## Date.year.fctr2003 1.789
## Date.year.fctr2004 -0.618
## Date.year.fctr2005 -2.572
## Date.year.fctr2006 -5.342
## Date.year.fctr2007 -4.460
## Date.year.fctr2008 -7.909
## Date.year.fctr2009 -7.423
## Date.year.fctr2010 -16.178
## Date.year.fctr2011 -17.050
## Date.year.fctr2012 -16.748
## `LocationDescription.my.fctrPARKING LOT/GARAGE(NON.RESID.)` 10.388
## LocationDescription.my.fctrOTHER 7.545
## LocationDescription.my.fctrSTORE 5.524
## LocationDescription.my.fctrALLEY 5.690
## `LocationDescription.my.fctrGAS STATION` 18.068
## `LocationDescription.my.fctrOTHER TRANSPORTATION` 0.635
## `LocationDescription.my.fctrGOVERNMENT BUILDING/PROPERTY` 0.943
## `LocationDescription.my.fctrPARK PROPERTY` 2.761
## LocationDescription.my.fctrSIDEWALK 0.123
## `LocationDescription.my.fctrVACANT LOT/LAND` -0.582
## `LocationDescription.my.fctrSCHOOL/COLLEGE` 5.062
## LocationDescription.my.fctrOFFICE 3.061
## LocationDescription.my.fctrAPARTMENT 4.902
## `LocationDescription.my.fctrHOTEL/MOTEL` 5.713
## LocationDescription.my.fctrAIRPORT 11.208
## LocationDescription.my.fctrHOSPITAL 0.500
## `LocationDescription.my.fctrVEHICLE NON-COMMERCIAL` 1.604
## `LocationDescription.my.fctrSPORTS ARENA/STADIUM` -0.531
## Pr(>|z|)
## (Intercept) < 2e-16 ***
## Date.year.fctr2002 0.00169 **
## Date.year.fctr2003 0.07357 .
## Date.year.fctr2004 0.53634
## Date.year.fctr2005 0.01012 *
## Date.year.fctr2006 9.21e-08 ***
## Date.year.fctr2007 8.18e-06 ***
## Date.year.fctr2008 2.60e-15 ***
## Date.year.fctr2009 1.14e-13 ***
## Date.year.fctr2010 < 2e-16 ***
## Date.year.fctr2011 < 2e-16 ***
## Date.year.fctr2012 < 2e-16 ***
## `LocationDescription.my.fctrPARKING LOT/GARAGE(NON.RESID.)` < 2e-16 ***
## LocationDescription.my.fctrOTHER 4.53e-14 ***
## LocationDescription.my.fctrSTORE 3.32e-08 ***
## LocationDescription.my.fctrALLEY 1.27e-08 ***
## `LocationDescription.my.fctrGAS STATION` < 2e-16 ***
## `LocationDescription.my.fctrOTHER TRANSPORTATION` 0.52515
## `LocationDescription.my.fctrGOVERNMENT BUILDING/PROPERTY` 0.34590
## `LocationDescription.my.fctrPARK PROPERTY` 0.00577 **
## LocationDescription.my.fctrSIDEWALK 0.90176
## `LocationDescription.my.fctrVACANT LOT/LAND` 0.56049
## `LocationDescription.my.fctrSCHOOL/COLLEGE` 4.15e-07 ***
## LocationDescription.my.fctrOFFICE 0.00221 **
## LocationDescription.my.fctrAPARTMENT 9.51e-07 ***
## `LocationDescription.my.fctrHOTEL/MOTEL` 1.11e-08 ***
## LocationDescription.my.fctrAIRPORT < 2e-16 ***
## LocationDescription.my.fctrHOSPITAL 0.61684
## `LocationDescription.my.fctrVEHICLE NON-COMMERCIAL` 0.10877
## `LocationDescription.my.fctrSPORTS ARENA/STADIUM` 0.59538
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 75490 on 134147 degrees of freedom
## Residual deviance: 73652 on 134118 degrees of freedom
## AIC: 73712
##
## Number of Fisher Scoring iterations: 5
##
## [1] " calling mypredict_mdl for fit:"
## threshold f.score
## 1 0.0 0.14997621
## 2 0.1 0.17623628
## 3 0.2 0.05905193
## 4 0.3 0.00905469
## 5 0.4 0.00000000
## 6 0.5 0.00000000
## 7 0.6 0.00000000
## 8 0.7 0.00000000
## 9 0.8 0.00000000
## 10 0.9 0.00000000
## 11 1.0 0.00000000
## [1] "Classifier Probability Threshold: 0.1000 to maximize f.score.fit"
## Arrest.fctr Arrest.fctr.predict.Max.cor.Y.glm.F
## 1 F 100495
## 2 T 7623
## Arrest.fctr.predict.Max.cor.Y.glm.T
## 1 22778
## 2 3252
## Warning in ni[1:m] * nj[1:m]: NAs produced by integer overflow
## Prediction
## Reference F T
## F 100495 22778
## T 7623 3252
## Accuracy Kappa AccuracyLower AccuracyUpper AccuracyNull
## 0.7733772 NA 0.7711273 0.7756153 0.9189328
## AccuracyPValue McnemarPValue
## 1.0000000 0.0000000
## [1] " calling mypredict_mdl for OOB:"
## threshold f.score
## 1 0.0 0.149982302
## 2 0.1 0.167984315
## 3 0.2 0.051581325
## 4 0.3 0.008412198
## 5 0.4 0.000000000
## 6 0.5 0.000000000
## 7 0.6 0.000000000
## 8 0.7 0.000000000
## 9 0.8 0.000000000
## 10 0.9 0.000000000
## 11 1.0 0.000000000
## [1] "Classifier Probability Threshold: 0.1000 to maximize f.score.OOB"
## Arrest.fctr Arrest.fctr.predict.Max.cor.Y.glm.F
## 1 F 43010
## 2 T 3333
## Arrest.fctr.predict.Max.cor.Y.glm.T
## 1 9822
## 2 1328
## Warning in ni[1:m] * nj[1:m]: NAs produced by integer overflow
## Prediction
## Reference F T
## F 43010 9822
## T 3333 1328
## Accuracy Kappa AccuracyLower AccuracyUpper AccuracyNull
## 0.7711895 NA 0.7677335 0.7746182 0.9189293
## AccuracyPValue McnemarPValue
## 1.0000000 0.0000000
## model_id model_method feats
## 1 Max.cor.Y.glm glm Date.year.fctr, LocationDescription.my.fctr
## max.nTuningRuns min.elapsedtime.everything min.elapsedtime.final
## 1 1 25.917 11.077
## max.auc.fit opt.prob.threshold.fit max.f.score.fit max.Accuracy.fit
## 1 0.6147946 0.1 0.1762363 0.9189328
## max.AccuracyLower.fit max.AccuracyUpper.fit max.Kappa.fit max.auc.OOB
## 1 0.7711273 0.7756153 0 0.6120104
## opt.prob.threshold.OOB max.f.score.OOB max.Accuracy.OOB
## 1 0.1 0.1679843 0.7711895
## max.AccuracyLower.OOB max.AccuracyUpper.OOB max.Kappa.OOB min.aic.fit
## 1 0.7677335 0.7746182 NA 73712.38
## max.AccuracySD.fit max.KappaSD.fit
## 1 0 0
if (!is.null(glb_date_vars)) {
# ret_lst <- myfit_mdl(model_id="Max.cor.Y.TmSrs.poly1",
# model_method=ifelse(glb_is_regression, "lm",
# ifelse(glb_is_binomial, "glm", "rpart")),
# model_type=glb_model_type,
# indep_vars_vctr=c(max_cor_y_x_vars, paste0(glb_date_vars, ".day.minutes")),
# rsp_var=glb_rsp_var, rsp_var_out=glb_rsp_var_out,
# fit_df=glb_fitobs_df, OOB_df=glb_OOBobs_df,
# n_cv_folds=glb_n_cv_folds, tune_models_df=NULL)
#
ret_lst <- myfit_mdl(model_id="Max.cor.Y.TmSrs.poly",
model_method=ifelse(glb_is_regression, "lm",
ifelse(glb_is_binomial, "glm", "rpart")),
model_type=glb_model_type,
indep_vars_vctr=c(max_cor_y_x_vars,
paste0(glb_date_vars, ".day.minutes.poly.", 1:5)),
rsp_var=glb_rsp_var, rsp_var_out=glb_rsp_var_out,
fit_df=glb_fitobs_df, OOB_df=glb_OOBobs_df,
n_cv_folds=glb_n_cv_folds, tune_models_df=NULL)
}
## [1] "fitting model: Max.cor.Y.TmSrs.poly.glm"
## [1] " indep_vars: Date.year.fctr, LocationDescription.my.fctr, Date.day.minutes.poly.1, Date.day.minutes.poly.2, Date.day.minutes.poly.3, Date.day.minutes.poly.4, Date.day.minutes.poly.5"
## Aggregating results
## Fitting final model on full training set
##
## Call:
## NULL
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -0.9696 -0.4474 -0.3992 -0.3002 2.6602
##
## Coefficients:
## Estimate
## (Intercept) -2.279175
## Date.year.fctr2002 0.125035
## Date.year.fctr2003 0.076521
## Date.year.fctr2004 -0.023884
## Date.year.fctr2005 -0.110474
## Date.year.fctr2006 -0.234868
## Date.year.fctr2007 -0.201757
## Date.year.fctr2008 -0.374229
## Date.year.fctr2009 -0.375224
## Date.year.fctr2010 -0.878164
## Date.year.fctr2011 -0.955536
## Date.year.fctr2012 -0.977232
## `LocationDescription.my.fctrPARKING LOT/GARAGE(NON.RESID.)` 0.306385
## LocationDescription.my.fctrOTHER 0.385204
## LocationDescription.my.fctrSTORE 0.297405
## LocationDescription.my.fctrALLEY 0.428498
## `LocationDescription.my.fctrGAS STATION` 1.165523
## `LocationDescription.my.fctrOTHER TRANSPORTATION` 0.224459
## `LocationDescription.my.fctrGOVERNMENT BUILDING/PROPERTY` 0.110068
## `LocationDescription.my.fctrPARK PROPERTY` 0.530962
## LocationDescription.my.fctrSIDEWALK 0.009149
## `LocationDescription.my.fctrVACANT LOT/LAND` -0.110115
## `LocationDescription.my.fctrSCHOOL/COLLEGE` 0.750992
## LocationDescription.my.fctrOFFICE 0.750411
## LocationDescription.my.fctrAPARTMENT 1.107427
## `LocationDescription.my.fctrHOTEL/MOTEL` 1.407044
## LocationDescription.my.fctrAIRPORT 1.468771
## LocationDescription.my.fctrHOSPITAL 0.139545
## `LocationDescription.my.fctrVEHICLE NON-COMMERCIAL` 0.253266
## `LocationDescription.my.fctrSPORTS ARENA/STADIUM` -0.232346
## Date.day.minutes.poly.1 14.943140
## Date.day.minutes.poly.2 -42.316930
## Date.day.minutes.poly.3 -13.645118
## Date.day.minutes.poly.4 3.565303
## Date.day.minutes.poly.5 15.916153
## Std. Error
## (Intercept) 0.028460
## Date.year.fctr2002 0.039090
## Date.year.fctr2003 0.040760
## Date.year.fctr2004 0.041555
## Date.year.fctr2005 0.042593
## Date.year.fctr2006 0.044377
## Date.year.fctr2007 0.045585
## Date.year.fctr2008 0.047755
## Date.year.fctr2009 0.050441
## Date.year.fctr2010 0.054118
## Date.year.fctr2011 0.055879
## Date.year.fctr2012 0.058348
## `LocationDescription.my.fctrPARKING LOT/GARAGE(NON.RESID.)` 0.034258
## LocationDescription.my.fctrOTHER 0.056268
## LocationDescription.my.fctrSTORE 0.055646
## LocationDescription.my.fctrALLEY 0.078718
## `LocationDescription.my.fctrGAS STATION` 0.064967
## `LocationDescription.my.fctrOTHER TRANSPORTATION` 0.399375
## `LocationDescription.my.fctrGOVERNMENT BUILDING/PROPERTY` 0.142312
## `LocationDescription.my.fctrPARK PROPERTY` 0.216697
## LocationDescription.my.fctrSIDEWALK 0.205266
## `LocationDescription.my.fctrVACANT LOT/LAND` 0.152295
## `LocationDescription.my.fctrSCHOOL/COLLEGE` 0.159314
## LocationDescription.my.fctrOFFICE 0.266040
## LocationDescription.my.fctrAPARTMENT 0.224947
## `LocationDescription.my.fctrHOTEL/MOTEL` 0.246066
## LocationDescription.my.fctrAIRPORT 0.135542
## LocationDescription.my.fctrHOSPITAL 0.373278
## `LocationDescription.my.fctrVEHICLE NON-COMMERCIAL` 0.163987
## `LocationDescription.my.fctrSPORTS ARENA/STADIUM` 0.457692
## Date.day.minutes.poly.1 4.639664
## Date.day.minutes.poly.2 4.588052
## Date.day.minutes.poly.3 4.515338
## Date.day.minutes.poly.4 4.506783
## Date.day.minutes.poly.5 4.502242
## z value
## (Intercept) -80.085
## Date.year.fctr2002 3.199
## Date.year.fctr2003 1.877
## Date.year.fctr2004 -0.575
## Date.year.fctr2005 -2.594
## Date.year.fctr2006 -5.293
## Date.year.fctr2007 -4.426
## Date.year.fctr2008 -7.836
## Date.year.fctr2009 -7.439
## Date.year.fctr2010 -16.227
## Date.year.fctr2011 -17.100
## Date.year.fctr2012 -16.748
## `LocationDescription.my.fctrPARKING LOT/GARAGE(NON.RESID.)` 8.943
## LocationDescription.my.fctrOTHER 6.846
## LocationDescription.my.fctrSTORE 5.345
## LocationDescription.my.fctrALLEY 5.443
## `LocationDescription.my.fctrGAS STATION` 17.940
## `LocationDescription.my.fctrOTHER TRANSPORTATION` 0.562
## `LocationDescription.my.fctrGOVERNMENT BUILDING/PROPERTY` 0.773
## `LocationDescription.my.fctrPARK PROPERTY` 2.450
## LocationDescription.my.fctrSIDEWALK 0.045
## `LocationDescription.my.fctrVACANT LOT/LAND` -0.723
## `LocationDescription.my.fctrSCHOOL/COLLEGE` 4.714
## LocationDescription.my.fctrOFFICE 2.821
## LocationDescription.my.fctrAPARTMENT 4.923
## `LocationDescription.my.fctrHOTEL/MOTEL` 5.718
## LocationDescription.my.fctrAIRPORT 10.836
## LocationDescription.my.fctrHOSPITAL 0.374
## `LocationDescription.my.fctrVEHICLE NON-COMMERCIAL` 1.544
## `LocationDescription.my.fctrSPORTS ARENA/STADIUM` -0.508
## Date.day.minutes.poly.1 3.221
## Date.day.minutes.poly.2 -9.223
## Date.day.minutes.poly.3 -3.022
## Date.day.minutes.poly.4 0.791
## Date.day.minutes.poly.5 3.535
## Pr(>|z|)
## (Intercept) < 2e-16 ***
## Date.year.fctr2002 0.001381 **
## Date.year.fctr2003 0.060469 .
## Date.year.fctr2004 0.565449
## Date.year.fctr2005 0.009494 **
## Date.year.fctr2006 1.21e-07 ***
## Date.year.fctr2007 9.60e-06 ***
## Date.year.fctr2008 4.64e-15 ***
## Date.year.fctr2009 1.02e-13 ***
## Date.year.fctr2010 < 2e-16 ***
## Date.year.fctr2011 < 2e-16 ***
## Date.year.fctr2012 < 2e-16 ***
## `LocationDescription.my.fctrPARKING LOT/GARAGE(NON.RESID.)` < 2e-16 ***
## LocationDescription.my.fctrOTHER 7.60e-12 ***
## LocationDescription.my.fctrSTORE 9.06e-08 ***
## LocationDescription.my.fctrALLEY 5.23e-08 ***
## `LocationDescription.my.fctrGAS STATION` < 2e-16 ***
## `LocationDescription.my.fctrOTHER TRANSPORTATION` 0.574098
## `LocationDescription.my.fctrGOVERNMENT BUILDING/PROPERTY` 0.439270
## `LocationDescription.my.fctrPARK PROPERTY` 0.014276 *
## LocationDescription.my.fctrSIDEWALK 0.964448
## `LocationDescription.my.fctrVACANT LOT/LAND` 0.469654
## `LocationDescription.my.fctrSCHOOL/COLLEGE` 2.43e-06 ***
## LocationDescription.my.fctrOFFICE 0.004792 **
## LocationDescription.my.fctrAPARTMENT 8.52e-07 ***
## `LocationDescription.my.fctrHOTEL/MOTEL` 1.08e-08 ***
## LocationDescription.my.fctrAIRPORT < 2e-16 ***
## LocationDescription.my.fctrHOSPITAL 0.708527
## `LocationDescription.my.fctrVEHICLE NON-COMMERCIAL` 0.122484
## `LocationDescription.my.fctrSPORTS ARENA/STADIUM` 0.611701
## Date.day.minutes.poly.1 0.001279 **
## Date.day.minutes.poly.2 < 2e-16 ***
## Date.day.minutes.poly.3 0.002512 **
## Date.day.minutes.poly.4 0.428887
## Date.day.minutes.poly.5 0.000408 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 75490 on 134147 degrees of freedom
## Residual deviance: 73529 on 134113 degrees of freedom
## AIC: 73599
##
## Number of Fisher Scoring iterations: 5
##
## [1] " calling mypredict_mdl for fit:"
## threshold f.score
## 1 0.0 0.14997621
## 2 0.1 0.18325736
## 3 0.2 0.05656697
## 4 0.3 0.01156592
## 5 0.4 0.00000000
## 6 0.5 0.00000000
## 7 0.6 0.00000000
## 8 0.7 0.00000000
## 9 0.8 0.00000000
## 10 0.9 0.00000000
## 11 1.0 0.00000000
## [1] "Classifier Probability Threshold: 0.1000 to maximize f.score.fit"
## Arrest.fctr Arrest.fctr.predict.Max.cor.Y.TmSrs.poly.glm.F
## 1 F 97081
## 2 T 7136
## Arrest.fctr.predict.Max.cor.Y.TmSrs.poly.glm.T
## 1 26192
## 2 3739
## Warning in ni[1:m] * nj[1:m]: NAs produced by integer overflow
## Prediction
## Reference F T
## F 97081 26192
## T 7136 3739
## Accuracy Kappa AccuracyLower AccuracyUpper AccuracyNull
## 0.7515580 NA 0.7492365 0.7538686 0.9189328
## AccuracyPValue McnemarPValue
## 1.0000000 0.0000000
## [1] " calling mypredict_mdl for OOB:"
## threshold f.score
## 1 0.0 0.149982302
## 2 0.1 0.177777778
## 3 0.2 0.050642479
## 4 0.3 0.009667928
## 5 0.4 0.000000000
## 6 0.5 0.000000000
## 7 0.6 0.000000000
## 8 0.7 0.000000000
## 9 0.8 0.000000000
## 10 0.9 0.000000000
## 11 1.0 0.000000000
## [1] "Classifier Probability Threshold: 0.1000 to maximize f.score.OOB"
## Arrest.fctr Arrest.fctr.predict.Max.cor.Y.TmSrs.poly.glm.F
## 1 F 41503
## 2 T 3101
## Arrest.fctr.predict.Max.cor.Y.TmSrs.poly.glm.T
## 1 11329
## 2 1560
## Warning in ni[1:m] * nj[1:m]: NAs produced by integer overflow
## Prediction
## Reference F T
## F 41503 11329
## T 3101 1560
## Accuracy Kappa AccuracyLower AccuracyUpper AccuracyNull
## 0.7490129 NA 0.7454476 0.7525531 0.9189293
## AccuracyPValue McnemarPValue
## 1.0000000 0.0000000
## model_id model_method
## 1 Max.cor.Y.TmSrs.poly.glm glm
## feats
## 1 Date.year.fctr, LocationDescription.my.fctr, Date.day.minutes.poly.1, Date.day.minutes.poly.2, Date.day.minutes.poly.3, Date.day.minutes.poly.4, Date.day.minutes.poly.5
## max.nTuningRuns min.elapsedtime.everything min.elapsedtime.final
## 1 1 32.144 14.622
## max.auc.fit opt.prob.threshold.fit max.f.score.fit max.Accuracy.fit
## 1 0.6197432 0.1 0.1832574 0.9189328
## max.AccuracyLower.fit max.AccuracyUpper.fit max.Kappa.fit max.auc.OOB
## 1 0.7492365 0.7538686 0 0.6132807
## opt.prob.threshold.OOB max.f.score.OOB max.Accuracy.OOB
## 1 0.1 0.1777778 0.7490129
## max.AccuracyLower.OOB max.AccuracyUpper.OOB max.Kappa.OOB min.aic.fit
## 1 0.7454476 0.7525531 NA 73598.81
## max.AccuracySD.fit max.KappaSD.fit
## 1 0 0
# Interactions.High.cor.Y
if (length(int_feats <- setdiff(unique(glb_feats_df$cor.high.X), NA)) > 0) {
# lm & glm handle interaction terms; rpart & rf do not
if (glb_is_regression || glb_is_binomial) {
indep_vars_vctr <-
c(max_cor_y_x_vars, paste(max_cor_y_x_vars[1], int_feats, sep=":"))
} else { indep_vars_vctr <- union(max_cor_y_x_vars, int_feats) }
ret_lst <- myfit_mdl(model_id="Interact.High.cor.Y",
model_method=ifelse(glb_is_regression, "lm",
ifelse(glb_is_binomial, "glm", "rpart")),
model_type=glb_model_type,
indep_vars_vctr,
glb_rsp_var, glb_rsp_var_out,
fit_df=glb_fitobs_df, OOB_df=glb_OOBobs_df,
n_cv_folds=glb_n_cv_folds, tune_models_df=NULL)
}
## [1] "fitting model: Interact.High.cor.Y.glm"
## [1] " indep_vars: Date.year.fctr, LocationDescription.my.fctr, Date.year.fctr:Date.day.minutes.poly.1, Date.year.fctr:Date.year.fctr"
## Aggregating results
## Fitting final model on full training set
##
## Call:
## NULL
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -0.9285 -0.4502 -0.4025 -0.2918 2.6611
##
## Coefficients:
## Estimate
## (Intercept) -2.28405
## Date.year.fctr2002 0.12649
## Date.year.fctr2003 0.07708
## Date.year.fctr2004 -0.02132
## Date.year.fctr2005 -0.10416
## Date.year.fctr2006 -0.23174
## Date.year.fctr2007 -0.19809
## Date.year.fctr2008 -0.37158
## Date.year.fctr2009 -0.36878
## Date.year.fctr2010 -0.87063
## Date.year.fctr2011 -0.94738
## Date.year.fctr2012 -0.97155
## `LocationDescription.my.fctrPARKING LOT/GARAGE(NON.RESID.)` 0.35205
## LocationDescription.my.fctrOTHER 0.42262
## LocationDescription.my.fctrSTORE 0.30782
## LocationDescription.my.fctrALLEY 0.44606
## `LocationDescription.my.fctrGAS STATION` 1.17478
## `LocationDescription.my.fctrOTHER TRANSPORTATION` 0.25515
## `LocationDescription.my.fctrGOVERNMENT BUILDING/PROPERTY` 0.13646
## `LocationDescription.my.fctrPARK PROPERTY` 0.58969
## LocationDescription.my.fctrSIDEWALK 0.03013
## `LocationDescription.my.fctrVACANT LOT/LAND` -0.08686
## `LocationDescription.my.fctrSCHOOL/COLLEGE` 0.81171
## LocationDescription.my.fctrOFFICE 0.81643
## LocationDescription.my.fctrAPARTMENT 1.09890
## `LocationDescription.my.fctrHOTEL/MOTEL` 1.41263
## LocationDescription.my.fctrAIRPORT 1.52058
## LocationDescription.my.fctrHOSPITAL 0.18887
## `LocationDescription.my.fctrVEHICLE NON-COMMERCIAL` 0.26181
## `LocationDescription.my.fctrSPORTS ARENA/STADIUM` -0.24633
## `Date.year.fctr2001:Date.day.minutes.poly.1` 31.28790
## `Date.year.fctr2002:Date.day.minutes.poly.1` 12.70667
## `Date.year.fctr2003:Date.day.minutes.poly.1` 15.79480
## `Date.year.fctr2004:Date.day.minutes.poly.1` 9.98026
## `Date.year.fctr2005:Date.day.minutes.poly.1` 8.48837
## `Date.year.fctr2006:Date.day.minutes.poly.1` 26.58709
## `Date.year.fctr2007:Date.day.minutes.poly.1` 5.40773
## `Date.year.fctr2008:Date.day.minutes.poly.1` 9.37450
## `Date.year.fctr2009:Date.day.minutes.poly.1` 21.28400
## `Date.year.fctr2010:Date.day.minutes.poly.1` 13.19187
## `Date.year.fctr2011:Date.day.minutes.poly.1` 0.89751
## `Date.year.fctr2012:Date.day.minutes.poly.1` -7.19629
## Std. Error
## (Intercept) 0.02856
## Date.year.fctr2002 0.03919
## Date.year.fctr2003 0.04084
## Date.year.fctr2004 0.04163
## Date.year.fctr2005 0.04265
## Date.year.fctr2006 0.04444
## Date.year.fctr2007 0.04564
## Date.year.fctr2008 0.04781
## Date.year.fctr2009 0.05049
## Date.year.fctr2010 0.05418
## Date.year.fctr2011 0.05593
## Date.year.fctr2012 0.05840
## `LocationDescription.my.fctrPARKING LOT/GARAGE(NON.RESID.)` 0.03394
## LocationDescription.my.fctrOTHER 0.05611
## LocationDescription.my.fctrSTORE 0.05561
## LocationDescription.my.fctrALLEY 0.07867
## `LocationDescription.my.fctrGAS STATION` 0.06486
## `LocationDescription.my.fctrOTHER TRANSPORTATION` 0.39923
## `LocationDescription.my.fctrGOVERNMENT BUILDING/PROPERTY` 0.14223
## `LocationDescription.my.fctrPARK PROPERTY` 0.21654
## LocationDescription.my.fctrSIDEWALK 0.20517
## `LocationDescription.my.fctrVACANT LOT/LAND` 0.15222
## `LocationDescription.my.fctrSCHOOL/COLLEGE` 0.15900
## LocationDescription.my.fctrOFFICE 0.26557
## LocationDescription.my.fctrAPARTMENT 0.22475
## `LocationDescription.my.fctrHOTEL/MOTEL` 0.24593
## LocationDescription.my.fctrAIRPORT 0.13527
## LocationDescription.my.fctrHOSPITAL 0.37297
## `LocationDescription.my.fctrVEHICLE NON-COMMERCIAL` 0.16390
## `LocationDescription.my.fctrSPORTS ARENA/STADIUM` 0.45755
## `Date.year.fctr2001:Date.day.minutes.poly.1` 12.49419
## `Date.year.fctr2002:Date.day.minutes.poly.1` 12.16420
## `Date.year.fctr2003:Date.day.minutes.poly.1` 13.12429
## `Date.year.fctr2004:Date.day.minutes.poly.1` 13.64075
## `Date.year.fctr2005:Date.day.minutes.poly.1` 14.40709
## `Date.year.fctr2006:Date.day.minutes.poly.1` 15.29444
## `Date.year.fctr2007:Date.day.minutes.poly.1` 15.95677
## `Date.year.fctr2008:Date.day.minutes.poly.1` 17.01500
## `Date.year.fctr2009:Date.day.minutes.poly.1` 18.67020
## `Date.year.fctr2010:Date.day.minutes.poly.1` 20.77177
## `Date.year.fctr2011:Date.day.minutes.poly.1` 21.61224
## `Date.year.fctr2012:Date.day.minutes.poly.1` 22.64738
## z value
## (Intercept) -79.972
## Date.year.fctr2002 3.228
## Date.year.fctr2003 1.887
## Date.year.fctr2004 -0.512
## Date.year.fctr2005 -2.442
## Date.year.fctr2006 -5.214
## Date.year.fctr2007 -4.340
## Date.year.fctr2008 -7.772
## Date.year.fctr2009 -7.305
## Date.year.fctr2010 -16.069
## Date.year.fctr2011 -16.940
## Date.year.fctr2012 -16.636
## `LocationDescription.my.fctrPARKING LOT/GARAGE(NON.RESID.)` 10.371
## LocationDescription.my.fctrOTHER 7.532
## LocationDescription.my.fctrSTORE 5.536
## LocationDescription.my.fctrALLEY 5.670
## `LocationDescription.my.fctrGAS STATION` 18.114
## `LocationDescription.my.fctrOTHER TRANSPORTATION` 0.639
## `LocationDescription.my.fctrGOVERNMENT BUILDING/PROPERTY` 0.959
## `LocationDescription.my.fctrPARK PROPERTY` 2.723
## LocationDescription.my.fctrSIDEWALK 0.147
## `LocationDescription.my.fctrVACANT LOT/LAND` -0.571
## `LocationDescription.my.fctrSCHOOL/COLLEGE` 5.105
## LocationDescription.my.fctrOFFICE 3.074
## LocationDescription.my.fctrAPARTMENT 4.889
## `LocationDescription.my.fctrHOTEL/MOTEL` 5.744
## LocationDescription.my.fctrAIRPORT 11.241
## LocationDescription.my.fctrHOSPITAL 0.506
## `LocationDescription.my.fctrVEHICLE NON-COMMERCIAL` 1.597
## `LocationDescription.my.fctrSPORTS ARENA/STADIUM` -0.538
## `Date.year.fctr2001:Date.day.minutes.poly.1` 2.504
## `Date.year.fctr2002:Date.day.minutes.poly.1` 1.045
## `Date.year.fctr2003:Date.day.minutes.poly.1` 1.203
## `Date.year.fctr2004:Date.day.minutes.poly.1` 0.732
## `Date.year.fctr2005:Date.day.minutes.poly.1` 0.589
## `Date.year.fctr2006:Date.day.minutes.poly.1` 1.738
## `Date.year.fctr2007:Date.day.minutes.poly.1` 0.339
## `Date.year.fctr2008:Date.day.minutes.poly.1` 0.551
## `Date.year.fctr2009:Date.day.minutes.poly.1` 1.140
## `Date.year.fctr2010:Date.day.minutes.poly.1` 0.635
## `Date.year.fctr2011:Date.day.minutes.poly.1` 0.042
## `Date.year.fctr2012:Date.day.minutes.poly.1` -0.318
## Pr(>|z|)
## (Intercept) < 2e-16 ***
## Date.year.fctr2002 0.00125 **
## Date.year.fctr2003 0.05912 .
## Date.year.fctr2004 0.60865
## Date.year.fctr2005 0.01459 *
## Date.year.fctr2006 1.84e-07 ***
## Date.year.fctr2007 1.42e-05 ***
## Date.year.fctr2008 7.72e-15 ***
## Date.year.fctr2009 2.78e-13 ***
## Date.year.fctr2010 < 2e-16 ***
## Date.year.fctr2011 < 2e-16 ***
## Date.year.fctr2012 < 2e-16 ***
## `LocationDescription.my.fctrPARKING LOT/GARAGE(NON.RESID.)` < 2e-16 ***
## LocationDescription.my.fctrOTHER 4.99e-14 ***
## LocationDescription.my.fctrSTORE 3.10e-08 ***
## LocationDescription.my.fctrALLEY 1.42e-08 ***
## `LocationDescription.my.fctrGAS STATION` < 2e-16 ***
## `LocationDescription.my.fctrOTHER TRANSPORTATION` 0.52275
## `LocationDescription.my.fctrGOVERNMENT BUILDING/PROPERTY` 0.33735
## `LocationDescription.my.fctrPARK PROPERTY` 0.00647 **
## LocationDescription.my.fctrSIDEWALK 0.88323
## `LocationDescription.my.fctrVACANT LOT/LAND` 0.56823
## `LocationDescription.my.fctrSCHOOL/COLLEGE` 3.31e-07 ***
## LocationDescription.my.fctrOFFICE 0.00211 **
## LocationDescription.my.fctrAPARTMENT 1.01e-06 ***
## `LocationDescription.my.fctrHOTEL/MOTEL` 9.25e-09 ***
## LocationDescription.my.fctrAIRPORT < 2e-16 ***
## LocationDescription.my.fctrHOSPITAL 0.61257
## `LocationDescription.my.fctrVEHICLE NON-COMMERCIAL` 0.11019
## `LocationDescription.my.fctrSPORTS ARENA/STADIUM` 0.59032
## `Date.year.fctr2001:Date.day.minutes.poly.1` 0.01227 *
## `Date.year.fctr2002:Date.day.minutes.poly.1` 0.29621
## `Date.year.fctr2003:Date.day.minutes.poly.1` 0.22879
## `Date.year.fctr2004:Date.day.minutes.poly.1` 0.46438
## `Date.year.fctr2005:Date.day.minutes.poly.1` 0.55574
## `Date.year.fctr2006:Date.day.minutes.poly.1` 0.08215 .
## `Date.year.fctr2007:Date.day.minutes.poly.1` 0.73469
## `Date.year.fctr2008:Date.day.minutes.poly.1` 0.58166
## `Date.year.fctr2009:Date.day.minutes.poly.1` 0.25429
## `Date.year.fctr2010:Date.day.minutes.poly.1` 0.52537
## `Date.year.fctr2011:Date.day.minutes.poly.1` 0.96688
## `Date.year.fctr2012:Date.day.minutes.poly.1` 0.75067
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 75490 on 134147 degrees of freedom
## Residual deviance: 73637 on 134106 degrees of freedom
## AIC: 73721
##
## Number of Fisher Scoring iterations: 5
##
## [1] " calling mypredict_mdl for fit:"
## threshold f.score
## 1 0.0 0.14997621
## 2 0.1 0.17824403
## 3 0.2 0.05743490
## 4 0.3 0.00905551
## 5 0.4 0.00000000
## 6 0.5 0.00000000
## 7 0.6 0.00000000
## 8 0.7 0.00000000
## 9 0.8 0.00000000
## 10 0.9 0.00000000
## 11 1.0 0.00000000
## [1] "Classifier Probability Threshold: 0.1000 to maximize f.score.fit"
## Arrest.fctr Arrest.fctr.predict.Interact.High.cor.Y.glm.F
## 1 F 96986
## 2 T 7239
## Arrest.fctr.predict.Interact.High.cor.Y.glm.T
## 1 26287
## 2 3636
## Warning in ni[1:m] * nj[1:m]: NAs produced by integer overflow
## Prediction
## Reference F T
## F 96986 26287
## T 7239 3636
## Accuracy Kappa AccuracyLower AccuracyUpper AccuracyNull
## 0.7500820 NA 0.7477560 0.7523972 0.9189328
## AccuracyPValue McnemarPValue
## 1.0000000 0.0000000
## [1] " calling mypredict_mdl for OOB:"
## threshold f.score
## 1 0.0 0.149982302
## 2 0.1 0.171294709
## 3 0.2 0.050245561
## 4 0.3 0.008413967
## 5 0.4 0.000000000
## 6 0.5 0.000000000
## 7 0.6 0.000000000
## 8 0.7 0.000000000
## 9 0.8 0.000000000
## 10 0.9 0.000000000
## 11 1.0 0.000000000
## [1] "Classifier Probability Threshold: 0.1000 to maximize f.score.OOB"
## Arrest.fctr Arrest.fctr.predict.Interact.High.cor.Y.glm.F
## 1 F 41490
## 2 T 3162
## Arrest.fctr.predict.Interact.High.cor.Y.glm.T
## 1 11342
## 2 1499
## Warning in ni[1:m] * nj[1:m]: NAs produced by integer overflow
## Prediction
## Reference F T
## F 41490 11342
## T 3162 1499
## Accuracy Kappa AccuracyLower AccuracyUpper AccuracyNull
## 0.7477258 NA 0.7441545 0.7512721 0.9189293
## AccuracyPValue McnemarPValue
## 1.0000000 0.0000000
## model_id model_method
## 1 Interact.High.cor.Y.glm glm
## feats
## 1 Date.year.fctr, LocationDescription.my.fctr, Date.year.fctr:Date.day.minutes.poly.1, Date.year.fctr:Date.year.fctr
## max.nTuningRuns min.elapsedtime.everything min.elapsedtime.final
## 1 1 33.996 15.067
## max.auc.fit opt.prob.threshold.fit max.f.score.fit max.Accuracy.fit
## 1 0.6153164 0.1 0.178244 0.9189328
## max.AccuracyLower.fit max.AccuracyUpper.fit max.Kappa.fit max.auc.OOB
## 1 0.747756 0.7523972 0 0.6115971
## opt.prob.threshold.OOB max.f.score.OOB max.Accuracy.OOB
## 1 0.1 0.1712947 0.7477258
## max.AccuracyLower.OOB max.AccuracyUpper.OOB max.Kappa.OOB min.aic.fit
## 1 0.7441545 0.7512721 NA 73721.34
## max.AccuracySD.fit max.KappaSD.fit
## 1 0 0
# Low.cor.X
# if (glb_is_classification && glb_is_binomial)
# indep_vars_vctr <- subset(glb_feats_df, is.na(cor.high.X) &
# is.ConditionalX.y &
# (exclude.as.feat != 1))[, "id"] else
indep_vars_vctr <- subset(glb_feats_df, is.na(cor.high.X) & !myNearZV &
(exclude.as.feat != 1))[, "id"]
myadjust_interaction_feats <- function(vars_vctr) {
for (feat in subset(glb_feats_df, !is.na(interaction.feat))$id)
if (feat %in% vars_vctr)
vars_vctr <- union(setdiff(vars_vctr, feat),
paste0(glb_feats_df[glb_feats_df$id == feat, "interaction.feat"], ":", feat))
return(vars_vctr)
}
indep_vars_vctr <- myadjust_interaction_feats(indep_vars_vctr)
ret_lst <- myfit_mdl(model_id="Low.cor.X",
model_method=ifelse(glb_is_regression, "lm",
ifelse(glb_is_binomial, "glm", "rpart")),
indep_vars_vctr=indep_vars_vctr,
model_type=glb_model_type,
glb_rsp_var, glb_rsp_var_out,
fit_df=glb_fitobs_df, OOB_df=glb_OOBobs_df,
n_cv_folds=glb_n_cv_folds, tune_models_df=NULL)
## [1] "fitting model: Low.cor.X.glm"
## [1] " indep_vars: LocationDescription.my.fctr, Date.minute.fctr, Date.last1.log, Domestic, Date.day.minutes.poly.5, Date.wkend, Date.day.minutes.poly.1, Date.last10.log, Date.day.minutes.poly.4, .rnorm, Beat, Date.wkday.fctr, Date.date.fctr, Date.month.fctr, Date.day.minutes.poly.3, Date.last100.log, Date.day.minutes.poly.2, Date.year.fctr"
## Aggregating results
## Fitting final model on full training set
##
## Call:
## NULL
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.3283 -0.4474 -0.3924 -0.3023 2.7125
##
## Coefficients:
## Estimate
## (Intercept) -3.354e+00
## `LocationDescription.my.fctrPARKING LOT/GARAGE(NON.RESID.)` 2.743e-01
## LocationDescription.my.fctrOTHER 3.805e-01
## LocationDescription.my.fctrSTORE 2.866e-01
## LocationDescription.my.fctrALLEY 3.927e-01
## `LocationDescription.my.fctrGAS STATION` 1.069e+00
## `LocationDescription.my.fctrOTHER TRANSPORTATION` 1.912e-01
## `LocationDescription.my.fctrGOVERNMENT BUILDING/PROPERTY` 7.559e-02
## `LocationDescription.my.fctrPARK PROPERTY` 4.872e-01
## LocationDescription.my.fctrSIDEWALK -2.617e-02
## `LocationDescription.my.fctrVACANT LOT/LAND` -9.719e-02
## `LocationDescription.my.fctrSCHOOL/COLLEGE` 6.908e-01
## LocationDescription.my.fctrOFFICE 6.955e-01
## LocationDescription.my.fctrAPARTMENT 9.672e-01
## `LocationDescription.my.fctrHOTEL/MOTEL` 1.380e+00
## LocationDescription.my.fctrAIRPORT 1.453e+00
## LocationDescription.my.fctrHOSPITAL 8.243e-02
## `LocationDescription.my.fctrVEHICLE NON-COMMERCIAL` 2.307e-01
## `LocationDescription.my.fctrSPORTS ARENA/STADIUM` -2.188e-01
## `Date.minute.fctr(14.8,29.5]` 3.407e-01
## `Date.minute.fctr(29.5,44.2]` 1.158e-01
## `Date.minute.fctr(44.2,59.1]` 3.940e-01
## Date.last1.log 1.307e-02
## DomesticTRUE 1.066e+00
## Date.day.minutes.poly.5 8.328e+00
## Date.wkend 4.317e-01
## Date.day.minutes.poly.1 1.578e+01
## Date.last10.log 3.470e-02
## Date.day.minutes.poly.4 3.282e+00
## .rnorm 8.943e-03
## Beat 6.507e-06
## Date.wkday.fctr1 3.343e-01
## Date.wkday.fctr2 3.208e-01
## Date.wkday.fctr3 3.624e-01
## Date.wkday.fctr4 3.023e-01
## Date.wkday.fctr5 3.519e-01
## Date.wkday.fctr6 -4.443e-02
## `Date.date.fctr(7,13]` 1.551e-02
## `Date.date.fctr(13,19]` -5.837e-02
## `Date.date.fctr(19,25]` -4.715e-03
## `Date.date.fctr(25,31]` -1.535e-02
## Date.month.fctr02 1.797e-02
## Date.month.fctr03 -8.944e-02
## Date.month.fctr04 -4.782e-02
## Date.month.fctr05 -1.611e-01
## Date.month.fctr06 -9.979e-02
## Date.month.fctr07 -1.314e-01
## Date.month.fctr08 -1.258e-01
## Date.month.fctr09 -1.386e-01
## Date.month.fctr10 -1.336e-01
## Date.month.fctr11 -1.111e-01
## Date.month.fctr12 -7.348e-03
## Date.day.minutes.poly.3 -2.078e+01
## Date.last100.log 2.869e-02
## Date.day.minutes.poly.2 -3.282e+01
## Date.year.fctr2002 1.146e-01
## Date.year.fctr2003 5.534e-02
## Date.year.fctr2004 -4.416e-02
## Date.year.fctr2005 -1.298e-01
## Date.year.fctr2006 -2.546e-01
## Date.year.fctr2007 -2.351e-01
## Date.year.fctr2008 -4.032e-01
## Date.year.fctr2009 -4.299e-01
## Date.year.fctr2010 -9.034e-01
## Date.year.fctr2011 -9.870e-01
## Date.year.fctr2012 -1.033e+00
## Std. Error
## (Intercept) 5.019e-01
## `LocationDescription.my.fctrPARKING LOT/GARAGE(NON.RESID.)` 3.442e-02
## LocationDescription.my.fctrOTHER 5.643e-02
## LocationDescription.my.fctrSTORE 5.584e-02
## LocationDescription.my.fctrALLEY 7.894e-02
## `LocationDescription.my.fctrGAS STATION` 6.551e-02
## `LocationDescription.my.fctrOTHER TRANSPORTATION` 3.999e-01
## `LocationDescription.my.fctrGOVERNMENT BUILDING/PROPERTY` 1.426e-01
## `LocationDescription.my.fctrPARK PROPERTY` 2.172e-01
## LocationDescription.my.fctrSIDEWALK 2.057e-01
## `LocationDescription.my.fctrVACANT LOT/LAND` 1.526e-01
## `LocationDescription.my.fctrSCHOOL/COLLEGE` 1.599e-01
## LocationDescription.my.fctrOFFICE 2.669e-01
## LocationDescription.my.fctrAPARTMENT 2.289e-01
## `LocationDescription.my.fctrHOTEL/MOTEL` 2.471e-01
## LocationDescription.my.fctrAIRPORT 1.362e-01
## LocationDescription.my.fctrHOSPITAL 3.739e-01
## `LocationDescription.my.fctrVEHICLE NON-COMMERCIAL` 1.644e-01
## `LocationDescription.my.fctrSPORTS ARENA/STADIUM` 4.579e-01
## `Date.minute.fctr(14.8,29.5]` 4.014e-02
## `Date.minute.fctr(29.5,44.2]` 2.510e-02
## `Date.minute.fctr(44.2,59.1]` 3.909e-02
## Date.last1.log 3.182e-03
## DomesticTRUE 1.573e-01
## Date.day.minutes.poly.5 4.550e+00
## Date.wkend 2.731e-01
## Date.day.minutes.poly.1 4.714e+00
## Date.last10.log 2.687e-02
## Date.day.minutes.poly.4 4.509e+00
## .rnorm 1.010e-02
## Beat 1.440e-05
## Date.wkday.fctr1 2.736e-01
## Date.wkday.fctr2 2.755e-01
## Date.wkday.fctr3 2.754e-01
## Date.wkday.fctr4 2.755e-01
## Date.wkday.fctr5 2.756e-01
## Date.wkday.fctr6 3.743e-02
## `Date.date.fctr(7,13]` 3.079e-02
## `Date.date.fctr(13,19]` 3.119e-02
## `Date.date.fctr(19,25]` 3.093e-02
## `Date.date.fctr(25,31]` 3.198e-02
## Date.month.fctr02 4.955e-02
## Date.month.fctr03 4.868e-02
## Date.month.fctr04 4.880e-02
## Date.month.fctr05 4.962e-02
## Date.month.fctr06 4.892e-02
## Date.month.fctr07 4.851e-02
## Date.month.fctr08 4.862e-02
## Date.month.fctr09 4.916e-02
## Date.month.fctr10 4.824e-02
## Date.month.fctr11 4.887e-02
## Date.month.fctr12 4.754e-02
## Date.day.minutes.poly.3 4.571e+00
## Date.last100.log 3.271e-02
## Date.day.minutes.poly.2 5.575e+00
## Date.year.fctr2002 3.951e-02
## Date.year.fctr2003 4.200e-02
## Date.year.fctr2004 4.267e-02
## Date.year.fctr2005 4.384e-02
## Date.year.fctr2006 4.578e-02
## Date.year.fctr2007 4.825e-02
## Date.year.fctr2008 5.018e-02
## Date.year.fctr2009 5.486e-02
## Date.year.fctr2010 5.558e-02
## Date.year.fctr2011 5.722e-02
## Date.year.fctr2012 6.144e-02
## z value
## (Intercept) -6.683
## `LocationDescription.my.fctrPARKING LOT/GARAGE(NON.RESID.)` 7.968
## LocationDescription.my.fctrOTHER 6.744
## LocationDescription.my.fctrSTORE 5.132
## LocationDescription.my.fctrALLEY 4.975
## `LocationDescription.my.fctrGAS STATION` 16.324
## `LocationDescription.my.fctrOTHER TRANSPORTATION` 0.478
## `LocationDescription.my.fctrGOVERNMENT BUILDING/PROPERTY` 0.530
## `LocationDescription.my.fctrPARK PROPERTY` 2.243
## LocationDescription.my.fctrSIDEWALK -0.127
## `LocationDescription.my.fctrVACANT LOT/LAND` -0.637
## `LocationDescription.my.fctrSCHOOL/COLLEGE` 4.320
## LocationDescription.my.fctrOFFICE 2.605
## LocationDescription.my.fctrAPARTMENT 4.226
## `LocationDescription.my.fctrHOTEL/MOTEL` 5.585
## LocationDescription.my.fctrAIRPORT 10.672
## LocationDescription.my.fctrHOSPITAL 0.220
## `LocationDescription.my.fctrVEHICLE NON-COMMERCIAL` 1.403
## `LocationDescription.my.fctrSPORTS ARENA/STADIUM` -0.478
## `Date.minute.fctr(14.8,29.5]` 8.488
## `Date.minute.fctr(29.5,44.2]` 4.614
## `Date.minute.fctr(44.2,59.1]` 10.078
## Date.last1.log 4.109
## DomesticTRUE 6.774
## Date.day.minutes.poly.5 1.830
## Date.wkend 1.581
## Date.day.minutes.poly.1 3.348
## Date.last10.log 1.291
## Date.day.minutes.poly.4 0.728
## .rnorm 0.885
## Beat 0.452
## Date.wkday.fctr1 1.222
## Date.wkday.fctr2 1.165
## Date.wkday.fctr3 1.316
## Date.wkday.fctr4 1.097
## Date.wkday.fctr5 1.277
## Date.wkday.fctr6 -1.187
## `Date.date.fctr(7,13]` 0.504
## `Date.date.fctr(13,19]` -1.871
## `Date.date.fctr(19,25]` -0.152
## `Date.date.fctr(25,31]` -0.480
## Date.month.fctr02 0.363
## Date.month.fctr03 -1.837
## Date.month.fctr04 -0.980
## Date.month.fctr05 -3.248
## Date.month.fctr06 -2.040
## Date.month.fctr07 -2.708
## Date.month.fctr08 -2.588
## Date.month.fctr09 -2.820
## Date.month.fctr10 -2.770
## Date.month.fctr11 -2.272
## Date.month.fctr12 -0.155
## Date.day.minutes.poly.3 -4.547
## Date.last100.log 0.877
## Date.day.minutes.poly.2 -5.887
## Date.year.fctr2002 2.900
## Date.year.fctr2003 1.318
## Date.year.fctr2004 -1.035
## Date.year.fctr2005 -2.962
## Date.year.fctr2006 -5.561
## Date.year.fctr2007 -4.871
## Date.year.fctr2008 -8.035
## Date.year.fctr2009 -7.835
## Date.year.fctr2010 -16.255
## Date.year.fctr2011 -17.249
## Date.year.fctr2012 -16.806
## Pr(>|z|)
## (Intercept) 2.34e-11 ***
## `LocationDescription.my.fctrPARKING LOT/GARAGE(NON.RESID.)` 1.61e-15 ***
## LocationDescription.my.fctrOTHER 1.54e-11 ***
## LocationDescription.my.fctrSTORE 2.86e-07 ***
## LocationDescription.my.fctrALLEY 6.52e-07 ***
## `LocationDescription.my.fctrGAS STATION` < 2e-16 ***
## `LocationDescription.my.fctrOTHER TRANSPORTATION` 0.632579
## `LocationDescription.my.fctrGOVERNMENT BUILDING/PROPERTY` 0.596151
## `LocationDescription.my.fctrPARK PROPERTY` 0.024922 *
## LocationDescription.my.fctrSIDEWALK 0.898771
## `LocationDescription.my.fctrVACANT LOT/LAND` 0.524254
## `LocationDescription.my.fctrSCHOOL/COLLEGE` 1.56e-05 ***
## LocationDescription.my.fctrOFFICE 0.009177 **
## LocationDescription.my.fctrAPARTMENT 2.38e-05 ***
## `LocationDescription.my.fctrHOTEL/MOTEL` 2.34e-08 ***
## LocationDescription.my.fctrAIRPORT < 2e-16 ***
## LocationDescription.my.fctrHOSPITAL 0.825525
## `LocationDescription.my.fctrVEHICLE NON-COMMERCIAL` 0.160542
## `LocationDescription.my.fctrSPORTS ARENA/STADIUM` 0.632753
## `Date.minute.fctr(14.8,29.5]` < 2e-16 ***
## `Date.minute.fctr(29.5,44.2]` 3.95e-06 ***
## `Date.minute.fctr(44.2,59.1]` < 2e-16 ***
## Date.last1.log 3.98e-05 ***
## DomesticTRUE 1.26e-11 ***
## Date.day.minutes.poly.5 0.067197 .
## Date.wkend 0.113912
## Date.day.minutes.poly.1 0.000813 ***
## Date.last10.log 0.196545
## Date.day.minutes.poly.4 0.466717
## .rnorm 0.375944
## Beat 0.651282
## Date.wkday.fctr1 0.221830
## Date.wkday.fctr2 0.244220
## Date.wkday.fctr3 0.188333
## Date.wkday.fctr4 0.272461
## Date.wkday.fctr5 0.201570
## Date.wkday.fctr6 0.235236
## `Date.date.fctr(7,13]` 0.614508
## `Date.date.fctr(13,19]` 0.061311 .
## `Date.date.fctr(19,25]` 0.878845
## `Date.date.fctr(25,31]` 0.631200
## Date.month.fctr02 0.716806
## Date.month.fctr03 0.066136 .
## Date.month.fctr04 0.327204
## Date.month.fctr05 0.001163 **
## Date.month.fctr06 0.041362 *
## Date.month.fctr07 0.006768 **
## Date.month.fctr08 0.009648 **
## Date.month.fctr09 0.004804 **
## Date.month.fctr10 0.005600 **
## Date.month.fctr11 0.023069 *
## Date.month.fctr12 0.877160
## Date.day.minutes.poly.3 5.45e-06 ***
## Date.last100.log 0.380352
## Date.day.minutes.poly.2 3.93e-09 ***
## Date.year.fctr2002 0.003735 **
## Date.year.fctr2003 0.187609
## Date.year.fctr2004 0.300728
## Date.year.fctr2005 0.003061 **
## Date.year.fctr2006 2.68e-08 ***
## Date.year.fctr2007 1.11e-06 ***
## Date.year.fctr2008 9.37e-16 ***
## Date.year.fctr2009 4.69e-15 ***
## Date.year.fctr2010 < 2e-16 ***
## Date.year.fctr2011 < 2e-16 ***
## Date.year.fctr2012 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 75490 on 134147 degrees of freedom
## Residual deviance: 73217 on 134082 degrees of freedom
## AIC: 73349
##
## Number of Fisher Scoring iterations: 5
##
## [1] " calling mypredict_mdl for fit:"
## threshold f.score
## 1 0.0 0.149976211
## 2 0.1 0.190733645
## 3 0.2 0.061456996
## 4 0.3 0.015243902
## 5 0.4 0.001468698
## 6 0.5 0.000000000
## 7 0.6 0.000000000
## 8 0.7 0.000000000
## 9 0.8 0.000000000
## 10 0.9 0.000000000
## 11 1.0 0.000000000
## [1] "Classifier Probability Threshold: 0.1000 to maximize f.score.fit"
## Arrest.fctr Arrest.fctr.predict.Low.cor.X.glm.F
## 1 F 95664
## 2 T 6818
## Arrest.fctr.predict.Low.cor.X.glm.T
## 1 27609
## 2 4057
## Warning in ni[1:m] * nj[1:m]: NAs produced by integer overflow
## Prediction
## Reference F T
## F 95664 27609
## T 6818 4057
## Accuracy Kappa AccuracyLower AccuracyUpper AccuracyNull
## 0.7433655 NA 0.7410193 0.7457013 0.9189328
## AccuracyPValue McnemarPValue
## 1.0000000 0.0000000
## [1] " calling mypredict_mdl for OOB:"
## threshold f.score
## 1 0.0 0.149982302
## 2 0.1 0.182642416
## 3 0.2 0.050847458
## 4 0.3 0.015034454
## 5 0.4 0.001710498
## 6 0.5 0.000000000
## 7 0.6 0.000000000
## 8 0.7 0.000000000
## 9 0.8 0.000000000
## 10 0.9 0.000000000
## 11 1.0 0.000000000
## [1] "Classifier Probability Threshold: 0.1000 to maximize f.score.OOB"
## Arrest.fctr Arrest.fctr.predict.Low.cor.X.glm.F
## 1 F 40856
## 2 T 2989
## Arrest.fctr.predict.Low.cor.X.glm.T
## 1 11976
## 2 1672
## Warning in ni[1:m] * nj[1:m]: NAs produced by integer overflow
## Prediction
## Reference F T
## F 40856 11976
## T 2989 1672
## Accuracy Kappa AccuracyLower AccuracyUpper AccuracyNull
## 0.7397074 NA 0.7361000 0.7432907 0.9189293
## AccuracyPValue McnemarPValue
## 1.0000000 0.0000000
## model_id model_method
## 1 Low.cor.X.glm glm
## feats
## 1 LocationDescription.my.fctr, Date.minute.fctr, Date.last1.log, Domestic, Date.day.minutes.poly.5, Date.wkend, Date.day.minutes.poly.1, Date.last10.log, Date.day.minutes.poly.4, .rnorm, Beat, Date.wkday.fctr, Date.date.fctr, Date.month.fctr, Date.day.minutes.poly.3, Date.last100.log, Date.day.minutes.poly.2, Date.year.fctr
## max.nTuningRuns min.elapsedtime.everything min.elapsedtime.final
## 1 1 61.821 27.194
## max.auc.fit opt.prob.threshold.fit max.f.score.fit max.Accuracy.fit
## 1 0.6303895 0.1 0.1907336 0.9189179
## max.AccuracyLower.fit max.AccuracyUpper.fit max.Kappa.fit max.auc.OOB
## 1 0.7410193 0.7457013 -2.981092e-05 0.6215335
## opt.prob.threshold.OOB max.f.score.OOB max.Accuracy.OOB
## 1 0.1 0.1826424 0.7397074
## max.AccuracyLower.OOB max.AccuracyUpper.OOB max.Kappa.OOB min.aic.fit
## 1 0.7361 0.7432907 NA 73348.87
## max.AccuracySD.fit max.KappaSD.fit
## 1 1.291149e-05 2.581702e-05
rm(ret_lst)
glb_chunks_df <- myadd_chunk(glb_chunks_df, "fit.models", major.inc=FALSE)
## label step_major step_minor bgn end elapsed
## 10 fit.models 7 0 152.068 818.732 666.664
## 11 fit.models 7 1 818.733 NA NA
fit.models_1_chunk_df <- myadd_chunk(NULL, "fit.models_1_bgn")
## label step_major step_minor bgn end elapsed
## 1 fit.models_1_bgn 1 0 893.424 NA NA
# Options:
# 1. rpart & rf manual tuning
# 2. rf without pca (default: with pca)
#stop(here); sav_models_lst <- glb_models_lst; sav_models_df <- glb_models_df
#glb_models_lst <- sav_models_lst; glb_models_df <- sav_models_df
# All X that is not user excluded
# if (glb_is_classification && glb_is_binomial) {
# model_id_pfx <- "Conditional.X"
# # indep_vars_vctr <- setdiff(names(glb_fitobs_df), union(glb_rsp_var, glb_exclude_vars_as_features))
# indep_vars_vctr <- subset(glb_feats_df, is.ConditionalX.y &
# (exclude.as.feat != 1))[, "id"]
# } else {
model_id_pfx <- "All.X"
indep_vars_vctr <- subset(glb_feats_df, !myNearZV &
(exclude.as.feat != 1))[, "id"]
# }
indep_vars_vctr <- myadjust_interaction_feats(indep_vars_vctr)
for (method in glb_models_method_vctr) {
fit.models_1_chunk_df <- myadd_chunk(fit.models_1_chunk_df,
paste0("fit.models_1_", method), major.inc=TRUE)
if (method %in% c("rpart", "rf")) {
# rpart: fubar's the tree
# rf: skip the scenario w/ .rnorm for speed
indep_vars_vctr <- setdiff(indep_vars_vctr, c(".rnorm"))
model_id <- paste0(model_id_pfx, ".no.rnorm")
} else model_id <- model_id_pfx
if (method %in% c("glm")) # for a "robust" glm model
indep_vars_vctr <- setdiff(indep_vars_vctr, c(NULL
,"A.nchrs.log" # correlated to "S.*"
,"A.ndgts.log" # correlated to "S.*"
,"A.nuppr.log" # correlated to "S.*"
,"A.npnct01.log" # identical to "S.npnct01.log"
,"A.npnct03.log" # correlated to "S.npnct03.log"
,"A.npnct04.log" # correlated to "S.npnct04.log"
,"A.npnct06.log" # identical to "S.npnct06.log"
,"A.npnct07.log" # identical to "S.npnct07.log"
,"A.npnct08.log" # correlated to "S.npnct08.log"
,"A.npnct11.log" # correlated to "S.*"
,"A.npnct12.log" # correlated to "S.*"
,"S.npnct14.log" # correlated to "A.*"
,"A.npnct15.log" # correlated to "S.npnct15.log"
,"A.npnct16.log" # correlated to "S.npnct16.log"
,"A.npnct19.log" # correlated to "S.*"
,"A.npnct20.log" # identical to "S.npnct20.log"
,"A.npnct21.log" # correlated to "S.npnct21.log"
,"A.P.daily.clip.report" # identical to "S.*"
,"S.P.daily.clip.report" # identical to "H.*"
,"A.P.http" # correlated to "A.npnct14.log"
,"A.P.fashion.week" # identical to "S.*"
,"H.P.first.draft" # correlated to "H.T.first"
,"A.P.first.draft" # identical to "S.*"
,"A.P.metropolitan.diary.colon" # identical to "S.*"
,"A.P.year.colon" # identical to "S.P.year.colon"
))
ret_lst <- myfit_mdl(model_id=model_id, model_method=method,
indep_vars_vctr=indep_vars_vctr,
model_type=glb_model_type,
rsp_var=glb_rsp_var, rsp_var_out=glb_rsp_var_out,
fit_df=glb_fitobs_df, OOB_df=glb_OOBobs_df,
n_cv_folds=glb_n_cv_folds, tune_models_df=glb_tune_models_df)
# If All.X.glm is less accurate than Low.Cor.X.glm
# check NA coefficients & filter appropriate terms in indep_vars_vctr
# if (method == "glm") {
# orig_glm <- glb_models_lst[[paste0(model_id, ".", model_method)]]$finalModel
# orig_glm <- glb_models_lst[["All.X.glm"]]$finalModel; print(summary(orig_glm))
# vif_orig_glm <- vif(orig_glm); print(vif_orig_glm)
# print(vif_orig_glm[!is.na(vif_orig_glm) & (vif_orig_glm == Inf)])
# print(which.max(vif_orig_glm))
# print(sort(vif_orig_glm[vif_orig_glm >= 1.0e+03], decreasing=TRUE))
# glb_fitobs_df[c(1143, 3637, 3953, 4105), c("UniqueID", "Popular", "H.P.quandary", "Headline")]
# glb_feats_df[glb_feats_df$id %in% grep("[HSA]\\.nchrs.log", glb_feats_df$id, value=TRUE) | glb_feats_df$cor.high.X %in% grep("[HSA]\\.nchrs.log", glb_feats_df$id, value=TRUE), ]
# glb_feats_df[glb_feats_df$id %in% grep("[HSA]\\.npnct14.log", glb_feats_df$id, value=TRUE) | glb_feats_df$cor.high.X %in% grep("[HSA]\\.npnct14.log", glb_feats_df$id, value=TRUE), ]
# glb_feats_df[glb_feats_df$id %in% grep("[HSA]\\.T.scen", glb_feats_df$id, value=TRUE) | glb_feats_df$cor.high.X %in% grep("[HSA]\\.T.scen", glb_feats_df$id, value=TRUE), ]
# glb_feats_df[glb_feats_df$id %in% grep("[HSA]\\.P.first", glb_feats_df$id, value=TRUE) | glb_feats_df$cor.high.X %in% grep("[HSA]\\.P.first", glb_feats_df$id, value=TRUE), ]
# all.equal(glb_allobs_df$S.nuppr.log, glb_allobs_df$A.nuppr.log)
# all.equal(glb_allobs_df$S.npnct19.log, glb_allobs_df$A.npnct19.log)
# all.equal(glb_allobs_df$S.P.year.colon, glb_allobs_df$A.P.year.colon)
# all.equal(glb_allobs_df$S.T.share, glb_allobs_df$A.T.share)
# all.equal(glb_allobs_df$H.T.clip, glb_allobs_df$H.P.daily.clip.report)
# cor(glb_allobs_df$S.T.herald, glb_allobs_df$S.T.tribun)
# dsp_obs(Abstract.contains="[Dd]iar", cols=("Abstract"), all=TRUE)
# dsp_obs(Abstract.contains="[Ss]hare", cols=("Abstract"), all=TRUE)
# subset(glb_feats_df, cor.y.abs <= glb_feats_df[glb_feats_df$id == ".rnorm", "cor.y.abs"])
# corxx_mtrx <- cor(data.matrix(glb_allobs_df[, setdiff(names(glb_allobs_df), myfind_chr_cols_df(glb_allobs_df))]), use="pairwise.complete.obs"); abs_corxx_mtrx <- abs(corxx_mtrx); diag(abs_corxx_mtrx) <- 0
# which.max(abs_corxx_mtrx["S.T.tribun", ])
# abs_corxx_mtrx["A.npnct08.log", "S.npnct08.log"]
# step_glm <- step(orig_glm)
# }
# Since caret does not optimize rpart well
# if (method == "rpart")
# ret_lst <- myfit_mdl(model_id=paste0(model_id_pfx, ".cp.0"), model_method=method,
# indep_vars_vctr=indep_vars_vctr,
# model_type=glb_model_type,
# rsp_var=glb_rsp_var, rsp_var_out=glb_rsp_var_out,
# fit_df=glb_fitobs_df, OOB_df=glb_OOBobs_df,
# n_cv_folds=0, tune_models_df=data.frame(parameter="cp", min=0.0, max=0.0, by=0.1))
}
## label step_major step_minor bgn end elapsed
## 1 fit.models_1_bgn 1 0 893.424 893.438 0.014
## 2 fit.models_1_glm 2 0 893.439 NA NA
## [1] "fitting model: All.X.glm"
## [1] " indep_vars: LocationDescription.my.fctr, Date.minute.fctr, Date.last1.log, Domestic, Date.day.minutes.poly.5, Date.wkend, Date.day.minutes.poly.1, Date.hour.fctr, Date.last10.log, Date.day.minutes.poly.4, .rnorm, Beat, Date.wkday.fctr, Date.date.fctr, Date.month.fctr, Date.day.minutes.poly.3, Date.last100.log, Date.day.minutes.poly.2, Date.year.fctr, Year"
## Aggregating results
## Fitting final model on full training set
##
## Call:
## NULL
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.3279 -0.4475 -0.3924 -0.3024 2.7116
##
## Coefficients: (1 not defined because of singularities)
## Estimate
## (Intercept) -3.297e+00
## `LocationDescription.my.fctrPARKING LOT/GARAGE(NON.RESID.)` 2.740e-01
## LocationDescription.my.fctrOTHER 3.809e-01
## LocationDescription.my.fctrSTORE 2.867e-01
## LocationDescription.my.fctrALLEY 3.929e-01
## `LocationDescription.my.fctrGAS STATION` 1.070e+00
## `LocationDescription.my.fctrOTHER TRANSPORTATION` 1.906e-01
## `LocationDescription.my.fctrGOVERNMENT BUILDING/PROPERTY` 7.456e-02
## `LocationDescription.my.fctrPARK PROPERTY` 4.870e-01
## LocationDescription.my.fctrSIDEWALK -2.567e-02
## `LocationDescription.my.fctrVACANT LOT/LAND` -9.680e-02
## `LocationDescription.my.fctrSCHOOL/COLLEGE` 6.914e-01
## LocationDescription.my.fctrOFFICE 6.969e-01
## LocationDescription.my.fctrAPARTMENT 9.678e-01
## `LocationDescription.my.fctrHOTEL/MOTEL` 1.380e+00
## LocationDescription.my.fctrAIRPORT 1.454e+00
## LocationDescription.my.fctrHOSPITAL 8.055e-02
## `LocationDescription.my.fctrVEHICLE NON-COMMERCIAL` 2.313e-01
## `LocationDescription.my.fctrSPORTS ARENA/STADIUM` -2.188e-01
## `Date.minute.fctr(14.8,29.5]` 3.397e-01
## `Date.minute.fctr(29.5,44.2]` 1.147e-01
## `Date.minute.fctr(44.2,59.1]` 3.912e-01
## Date.last1.log 1.306e-02
## DomesticTRUE 1.068e+00
## Date.day.minutes.poly.5 7.390e+00
## Date.wkend 4.316e-01
## Date.day.minutes.poly.1 2.451e+01
## `Date.hour.fctr(7.67,15.3]` -5.603e-02
## `Date.hour.fctr(15.3,23]` -5.642e-02
## Date.last10.log 3.320e-02
## Date.day.minutes.poly.4 6.000e+00
## .rnorm 8.995e-03
## Beat 6.468e-06
## Date.wkday.fctr1 3.336e-01
## Date.wkday.fctr2 3.200e-01
## Date.wkday.fctr3 3.616e-01
## Date.wkday.fctr4 3.017e-01
## Date.wkday.fctr5 3.511e-01
## Date.wkday.fctr6 -4.450e-02
## `Date.date.fctr(7,13]` 1.551e-02
## `Date.date.fctr(13,19]` -5.829e-02
## `Date.date.fctr(19,25]` -4.614e-03
## `Date.date.fctr(25,31]` -1.534e-02
## Date.month.fctr02 1.824e-02
## Date.month.fctr03 -8.939e-02
## Date.month.fctr04 -4.788e-02
## Date.month.fctr05 -1.610e-01
## Date.month.fctr06 -9.953e-02
## Date.month.fctr07 -1.312e-01
## Date.month.fctr08 -1.258e-01
## Date.month.fctr09 -1.386e-01
## Date.month.fctr10 -1.336e-01
## Date.month.fctr11 -1.111e-01
## Date.month.fctr12 -7.429e-03
## Date.day.minutes.poly.3 -2.184e+01
## Date.last100.log 2.867e-02
## Date.day.minutes.poly.2 -3.691e+01
## Date.year.fctr2002 1.148e-01
## Date.year.fctr2003 5.574e-02
## Date.year.fctr2004 -4.386e-02
## Date.year.fctr2005 -1.296e-01
## Date.year.fctr2006 -2.544e-01
## Date.year.fctr2007 -2.346e-01
## Date.year.fctr2008 -4.026e-01
## Date.year.fctr2009 -4.290e-01
## Date.year.fctr2010 -9.030e-01
## Date.year.fctr2011 -9.865e-01
## Date.year.fctr2012 -1.032e+00
## Year NA
## Std. Error
## (Intercept) 5.068e-01
## `LocationDescription.my.fctrPARKING LOT/GARAGE(NON.RESID.)` 3.443e-02
## LocationDescription.my.fctrOTHER 5.643e-02
## LocationDescription.my.fctrSTORE 5.584e-02
## LocationDescription.my.fctrALLEY 7.894e-02
## `LocationDescription.my.fctrGAS STATION` 6.552e-02
## `LocationDescription.my.fctrOTHER TRANSPORTATION` 4.000e-01
## `LocationDescription.my.fctrGOVERNMENT BUILDING/PROPERTY` 1.426e-01
## `LocationDescription.my.fctrPARK PROPERTY` 2.172e-01
## LocationDescription.my.fctrSIDEWALK 2.057e-01
## `LocationDescription.my.fctrVACANT LOT/LAND` 1.526e-01
## `LocationDescription.my.fctrSCHOOL/COLLEGE` 1.599e-01
## LocationDescription.my.fctrOFFICE 2.669e-01
## LocationDescription.my.fctrAPARTMENT 2.289e-01
## `LocationDescription.my.fctrHOTEL/MOTEL` 2.471e-01
## LocationDescription.my.fctrAIRPORT 1.362e-01
## LocationDescription.my.fctrHOSPITAL 3.739e-01
## `LocationDescription.my.fctrVEHICLE NON-COMMERCIAL` 1.644e-01
## `LocationDescription.my.fctrSPORTS ARENA/STADIUM` 4.579e-01
## `Date.minute.fctr(14.8,29.5]` 4.016e-02
## `Date.minute.fctr(29.5,44.2]` 2.516e-02
## `Date.minute.fctr(44.2,59.1]` 3.925e-02
## Date.last1.log 3.183e-03
## DomesticTRUE 1.574e-01
## Date.day.minutes.poly.5 4.691e+00
## Date.wkend 2.731e-01
## Date.day.minutes.poly.1 1.563e+01
## `Date.hour.fctr(7.67,15.3]` 6.737e-02
## `Date.hour.fctr(15.3,23]` 8.841e-02
## Date.last10.log 2.699e-02
## Date.day.minutes.poly.4 6.481e+00
## .rnorm 1.010e-02
## Beat 1.440e-05
## Date.wkday.fctr1 2.736e-01
## Date.wkday.fctr2 2.755e-01
## Date.wkday.fctr3 2.754e-01
## Date.wkday.fctr4 2.755e-01
## Date.wkday.fctr5 2.756e-01
## Date.wkday.fctr6 3.743e-02
## `Date.date.fctr(7,13]` 3.079e-02
## `Date.date.fctr(13,19]` 3.119e-02
## `Date.date.fctr(19,25]` 3.093e-02
## `Date.date.fctr(25,31]` 3.198e-02
## Date.month.fctr02 4.955e-02
## Date.month.fctr03 4.868e-02
## Date.month.fctr04 4.881e-02
## Date.month.fctr05 4.962e-02
## Date.month.fctr06 4.893e-02
## Date.month.fctr07 4.852e-02
## Date.month.fctr08 4.862e-02
## Date.month.fctr09 4.916e-02
## Date.month.fctr10 4.824e-02
## Date.month.fctr11 4.887e-02
## Date.month.fctr12 4.754e-02
## Date.day.minutes.poly.3 5.271e+00
## Date.last100.log 3.271e-02
## Date.day.minutes.poly.2 8.583e+00
## Date.year.fctr2002 3.951e-02
## Date.year.fctr2003 4.200e-02
## Date.year.fctr2004 4.267e-02
## Date.year.fctr2005 4.384e-02
## Date.year.fctr2006 4.578e-02
## Date.year.fctr2007 4.826e-02
## Date.year.fctr2008 5.018e-02
## Date.year.fctr2009 5.488e-02
## Date.year.fctr2010 5.558e-02
## Date.year.fctr2011 5.723e-02
## Date.year.fctr2012 6.145e-02
## Year NA
## z value
## (Intercept) -6.505
## `LocationDescription.my.fctrPARKING LOT/GARAGE(NON.RESID.)` 7.958
## LocationDescription.my.fctrOTHER 6.750
## LocationDescription.my.fctrSTORE 5.134
## LocationDescription.my.fctrALLEY 4.977
## `LocationDescription.my.fctrGAS STATION` 16.324
## `LocationDescription.my.fctrOTHER TRANSPORTATION` 0.477
## `LocationDescription.my.fctrGOVERNMENT BUILDING/PROPERTY` 0.523
## `LocationDescription.my.fctrPARK PROPERTY` 2.242
## LocationDescription.my.fctrSIDEWALK -0.125
## `LocationDescription.my.fctrVACANT LOT/LAND` -0.634
## `LocationDescription.my.fctrSCHOOL/COLLEGE` 4.323
## LocationDescription.my.fctrOFFICE 2.611
## LocationDescription.my.fctrAPARTMENT 4.229
## `LocationDescription.my.fctrHOTEL/MOTEL` 5.584
## LocationDescription.my.fctrAIRPORT 10.675
## LocationDescription.my.fctrHOSPITAL 0.215
## `LocationDescription.my.fctrVEHICLE NON-COMMERCIAL` 1.407
## `LocationDescription.my.fctrSPORTS ARENA/STADIUM` -0.478
## `Date.minute.fctr(14.8,29.5]` 8.459
## `Date.minute.fctr(29.5,44.2]` 4.559
## `Date.minute.fctr(44.2,59.1]` 9.967
## Date.last1.log 4.104
## DomesticTRUE 6.785
## Date.day.minutes.poly.5 1.575
## Date.wkend 1.580
## Date.day.minutes.poly.1 1.568
## `Date.hour.fctr(7.67,15.3]` -0.832
## `Date.hour.fctr(15.3,23]` -0.638
## Date.last10.log 1.230
## Date.day.minutes.poly.4 0.926
## .rnorm 0.890
## Beat 0.449
## Date.wkday.fctr1 1.219
## Date.wkday.fctr2 1.161
## Date.wkday.fctr3 1.313
## Date.wkday.fctr4 1.095
## Date.wkday.fctr5 1.274
## Date.wkday.fctr6 -1.189
## `Date.date.fctr(7,13]` 0.504
## `Date.date.fctr(13,19]` -1.869
## `Date.date.fctr(19,25]` -0.149
## `Date.date.fctr(25,31]` -0.479
## Date.month.fctr02 0.368
## Date.month.fctr03 -1.836
## Date.month.fctr04 -0.981
## Date.month.fctr05 -3.244
## Date.month.fctr06 -2.034
## Date.month.fctr07 -2.705
## Date.month.fctr08 -2.586
## Date.month.fctr09 -2.820
## Date.month.fctr10 -2.769
## Date.month.fctr11 -2.273
## Date.month.fctr12 -0.156
## Date.day.minutes.poly.3 -4.143
## Date.last100.log 0.876
## Date.day.minutes.poly.2 -4.300
## Date.year.fctr2002 2.906
## Date.year.fctr2003 1.327
## Date.year.fctr2004 -1.028
## Date.year.fctr2005 -2.956
## Date.year.fctr2006 -5.557
## Date.year.fctr2007 -4.860
## Date.year.fctr2008 -8.023
## Date.year.fctr2009 -7.816
## Date.year.fctr2010 -16.246
## Date.year.fctr2011 -17.239
## Date.year.fctr2012 -16.793
## Year NA
## Pr(>|z|)
## (Intercept) 7.76e-11 ***
## `LocationDescription.my.fctrPARKING LOT/GARAGE(NON.RESID.)` 1.75e-15 ***
## LocationDescription.my.fctrOTHER 1.48e-11 ***
## LocationDescription.my.fctrSTORE 2.83e-07 ***
## LocationDescription.my.fctrALLEY 6.46e-07 ***
## `LocationDescription.my.fctrGAS STATION` < 2e-16 ***
## `LocationDescription.my.fctrOTHER TRANSPORTATION` 0.63361
## `LocationDescription.my.fctrGOVERNMENT BUILDING/PROPERTY` 0.60115
## `LocationDescription.my.fctrPARK PROPERTY` 0.02497 *
## LocationDescription.my.fctrSIDEWALK 0.90069
## `LocationDescription.my.fctrVACANT LOT/LAND` 0.52591
## `LocationDescription.my.fctrSCHOOL/COLLEGE` 1.54e-05 ***
## LocationDescription.my.fctrOFFICE 0.00903 **
## LocationDescription.my.fctrAPARTMENT 2.35e-05 ***
## `LocationDescription.my.fctrHOTEL/MOTEL` 2.35e-08 ***
## LocationDescription.my.fctrAIRPORT < 2e-16 ***
## LocationDescription.my.fctrHOSPITAL 0.82944
## `LocationDescription.my.fctrVEHICLE NON-COMMERCIAL` 0.15942
## `LocationDescription.my.fctrSPORTS ARENA/STADIUM` 0.63285
## `Date.minute.fctr(14.8,29.5]` < 2e-16 ***
## `Date.minute.fctr(29.5,44.2]` 5.13e-06 ***
## `Date.minute.fctr(44.2,59.1]` < 2e-16 ***
## Date.last1.log 4.05e-05 ***
## DomesticTRUE 1.16e-11 ***
## Date.day.minutes.poly.5 0.11515
## Date.wkend 0.11401
## Date.day.minutes.poly.1 0.11692
## `Date.hour.fctr(7.67,15.3]` 0.40553
## `Date.hour.fctr(15.3,23]` 0.52338
## Date.last10.log 0.21854
## Date.day.minutes.poly.4 0.35462
## .rnorm 0.37321
## Beat 0.65323
## Date.wkday.fctr1 0.22278
## Date.wkday.fctr2 0.24546
## Date.wkday.fctr3 0.18931
## Date.wkday.fctr4 0.27346
## Date.wkday.fctr5 0.20268
## Date.wkday.fctr6 0.23447
## `Date.date.fctr(7,13]` 0.61445
## `Date.date.fctr(13,19]` 0.06167 .
## `Date.date.fctr(19,25]` 0.88142
## `Date.date.fctr(25,31]` 0.63160
## Date.month.fctr02 0.71287
## Date.month.fctr03 0.06630 .
## Date.month.fctr04 0.32656
## Date.month.fctr05 0.00118 **
## Date.month.fctr06 0.04192 *
## Date.month.fctr07 0.00684 **
## Date.month.fctr08 0.00970 **
## Date.month.fctr09 0.00480 **
## Date.month.fctr10 0.00562 **
## Date.month.fctr11 0.02305 *
## Date.month.fctr12 0.87582
## Date.day.minutes.poly.3 3.43e-05 ***
## Date.last100.log 0.38081
## Date.day.minutes.poly.2 1.70e-05 ***
## Date.year.fctr2002 0.00366 **
## Date.year.fctr2003 0.18448
## Date.year.fctr2004 0.30400
## Date.year.fctr2005 0.00312 **
## Date.year.fctr2006 2.74e-08 ***
## Date.year.fctr2007 1.17e-06 ***
## Date.year.fctr2008 1.03e-15 ***
## Date.year.fctr2009 5.44e-15 ***
## Date.year.fctr2010 < 2e-16 ***
## Date.year.fctr2011 < 2e-16 ***
## Date.year.fctr2012 < 2e-16 ***
## Year NA
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 75490 on 134147 degrees of freedom
## Residual deviance: 73216 on 134080 degrees of freedom
## AIC: 73352
##
## Number of Fisher Scoring iterations: 5
##
## [1] " calling mypredict_mdl for fit:"
## Warning in predict.lm(object, newdata, se.fit, scale = 1, type =
## ifelse(type == : prediction from a rank-deficient fit may be misleading
## threshold f.score
## 1 0.0 0.149976211
## 2 0.1 0.190982181
## 3 0.2 0.061311291
## 4 0.3 0.015956970
## 5 0.4 0.001468698
## 6 0.5 0.000000000
## 7 0.6 0.000000000
## 8 0.7 0.000000000
## 9 0.8 0.000000000
## 10 0.9 0.000000000
## 11 1.0 0.000000000
## [1] "Classifier Probability Threshold: 0.1000 to maximize f.score.fit"
## Arrest.fctr Arrest.fctr.predict.All.X.glm.F
## 1 F 95672
## 2 T 6813
## Arrest.fctr.predict.All.X.glm.T
## 1 27601
## 2 4062
## Warning in ni[1:m] * nj[1:m]: NAs produced by integer overflow
## Prediction
## Reference F T
## F 95672 27601
## T 6813 4062
## Accuracy Kappa AccuracyLower AccuracyUpper AccuracyNull
## 0.7434624 NA 0.7411165 0.7457979 0.9189328
## AccuracyPValue McnemarPValue
## 1.0000000 0.0000000
## [1] " calling mypredict_mdl for OOB:"
## Warning in predict.lm(object, newdata, se.fit, scale = 1, type =
## ifelse(type == : prediction from a rank-deficient fit may be misleading
## threshold f.score
## 1 0.0 0.149982302
## 2 0.1 0.182681808
## 3 0.2 0.050857035
## 4 0.3 0.015025042
## 5 0.4 0.001710498
## 6 0.5 0.000000000
## 7 0.6 0.000000000
## 8 0.7 0.000000000
## 9 0.8 0.000000000
## 10 0.9 0.000000000
## 11 1.0 0.000000000
## [1] "Classifier Probability Threshold: 0.1000 to maximize f.score.OOB"
## Arrest.fctr Arrest.fctr.predict.All.X.glm.F
## 1 F 40850
## 2 T 2988
## Arrest.fctr.predict.All.X.glm.T
## 1 11982
## 2 1673
## Warning in ni[1:m] * nj[1:m]: NAs produced by integer overflow
## Prediction
## Reference F T
## F 40850 11982
## T 2988 1673
## Accuracy Kappa AccuracyLower AccuracyUpper AccuracyNull
## 0.7396205 NA 0.7360126 0.7432041 0.9189293
## AccuracyPValue McnemarPValue
## 1.0000000 0.0000000
## model_id model_method
## 1 All.X.glm glm
## feats
## 1 LocationDescription.my.fctr, Date.minute.fctr, Date.last1.log, Domestic, Date.day.minutes.poly.5, Date.wkend, Date.day.minutes.poly.1, Date.hour.fctr, Date.last10.log, Date.day.minutes.poly.4, .rnorm, Beat, Date.wkday.fctr, Date.date.fctr, Date.month.fctr, Date.day.minutes.poly.3, Date.last100.log, Date.day.minutes.poly.2, Date.year.fctr, Year
## max.nTuningRuns min.elapsedtime.everything min.elapsedtime.final
## 1 1 72.501 27.639
## max.auc.fit opt.prob.threshold.fit max.f.score.fit max.Accuracy.fit
## 1 0.6303896 0.1 0.1909822 0.9189179
## max.AccuracyLower.fit max.AccuracyUpper.fit max.Kappa.fit max.auc.OOB
## 1 0.7411165 0.7457979 -2.981092e-05 0.6216375
## opt.prob.threshold.OOB max.f.score.OOB max.Accuracy.OOB
## 1 0.1 0.1826818 0.7396205
## max.AccuracyLower.OOB max.AccuracyUpper.OOB max.Kappa.OOB min.aic.fit
## 1 0.7360126 0.7432041 NA 73352.18
## max.AccuracySD.fit max.KappaSD.fit
## 1 1.291149e-05 2.581702e-05
## label step_major step_minor bgn end elapsed
## 2 fit.models_1_glm 2 0 893.439 1081.461 188.022
## 3 fit.models_1_bayesglm 3 0 1081.462 NA NA
## [1] "fitting model: All.X.bayesglm"
## [1] " indep_vars: LocationDescription.my.fctr, Date.minute.fctr, Date.last1.log, Domestic, Date.day.minutes.poly.5, Date.wkend, Date.day.minutes.poly.1, Date.hour.fctr, Date.last10.log, Date.day.minutes.poly.4, .rnorm, Beat, Date.wkday.fctr, Date.date.fctr, Date.month.fctr, Date.day.minutes.poly.3, Date.last100.log, Date.day.minutes.poly.2, Date.year.fctr, Year"
## Loading required package: arm
## Loading required package: MASS
##
## Attaching package: 'MASS'
##
## The following object is masked from 'package:dplyr':
##
## select
##
## Loading required package: Matrix
## Loading required package: lme4
## Loading required package: Rcpp
##
## arm (Version 1.8-5, built: 2015-05-13)
##
## Working directory is /Users/bbalaji-2012/Documents/Work/Courses/MIT/Analytics_Edge_15_071x/Assignments/HW1_MVT_Chicago
## Aggregating results
## Fitting final model on full training set
##
## Call:
## NULL
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.3193 -0.4475 -0.3924 -0.3024 2.7109
##
## Coefficients:
## Estimate
## (Intercept) 1.477e+02
## `LocationDescription.my.fctrPARKING LOT/GARAGE(NON.RESID.)` 2.735e-01
## LocationDescription.my.fctrOTHER 3.802e-01
## LocationDescription.my.fctrSTORE 2.863e-01
## LocationDescription.my.fctrALLEY 3.918e-01
## `LocationDescription.my.fctrGAS STATION` 1.068e+00
## `LocationDescription.my.fctrOTHER TRANSPORTATION` 1.813e-01
## `LocationDescription.my.fctrGOVERNMENT BUILDING/PROPERTY` 7.379e-02
## `LocationDescription.my.fctrPARK PROPERTY` 4.796e-01
## LocationDescription.my.fctrSIDEWALK -2.560e-02
## `LocationDescription.my.fctrVACANT LOT/LAND` -9.642e-02
## `LocationDescription.my.fctrSCHOOL/COLLEGE` 6.858e-01
## LocationDescription.my.fctrOFFICE 6.825e-01
## LocationDescription.my.fctrAPARTMENT 9.545e-01
## `LocationDescription.my.fctrHOTEL/MOTEL` 1.359e+00
## LocationDescription.my.fctrAIRPORT 1.447e+00
## LocationDescription.my.fctrHOSPITAL 7.685e-02
## `LocationDescription.my.fctrVEHICLE NON-COMMERCIAL` 2.292e-01
## `LocationDescription.my.fctrSPORTS ARENA/STADIUM` -2.058e-01
## `Date.minute.fctr(14.8,29.5]` 3.397e-01
## `Date.minute.fctr(29.5,44.2]` 1.147e-01
## `Date.minute.fctr(44.2,59.1]` 3.912e-01
## Date.last1.log 1.306e-02
## DomesticTRUE 1.061e+00
## Date.day.minutes.poly.5 7.406e+00
## Date.wkend 3.882e-01
## Date.day.minutes.poly.1 2.443e+01
## `Date.hour.fctr(7.67,15.3]` -5.563e-02
## `Date.hour.fctr(15.3,23]` -5.599e-02
## Date.last10.log 3.330e-02
## Date.day.minutes.poly.4 5.988e+00
## .rnorm 8.989e-03
## Beat 6.433e-06
## Date.wkday.fctr1 2.902e-01
## Date.wkday.fctr2 2.763e-01
## Date.wkday.fctr3 3.179e-01
## Date.wkday.fctr4 2.580e-01
## Date.wkday.fctr5 3.074e-01
## Date.wkday.fctr6 -4.482e-02
## `Date.date.fctr(7,13]` 1.550e-02
## `Date.date.fctr(13,19]` -5.833e-02
## `Date.date.fctr(19,25]` -4.645e-03
## `Date.date.fctr(25,31]` -1.539e-02
## Date.month.fctr02 1.853e-02
## Date.month.fctr03 -8.910e-02
## Date.month.fctr04 -4.765e-02
## Date.month.fctr05 -1.606e-01
## Date.month.fctr06 -9.927e-02
## Date.month.fctr07 -1.309e-01
## Date.month.fctr08 -1.255e-01
## Date.month.fctr09 -1.382e-01
## Date.month.fctr10 -1.333e-01
## Date.month.fctr11 -1.107e-01
## Date.month.fctr12 -7.178e-03
## Date.day.minutes.poly.3 -2.182e+01
## Date.last100.log 2.875e-02
## Date.day.minutes.poly.2 -3.689e+01
## Date.year.fctr2002 1.900e-01
## Date.year.fctr2003 2.063e-01
## Date.year.fctr2004 1.822e-01
## Date.year.fctr2005 1.720e-01
## Date.year.fctr2006 1.225e-01
## Date.year.fctr2007 2.178e-01
## Date.year.fctr2008 1.253e-01
## Date.year.fctr2009 1.744e-01
## Date.year.fctr2010 -2.240e-01
## Date.year.fctr2011 -2.320e-01
## Date.year.fctr2012 -2.003e-01
## Year -7.546e-02
## Std. Error
## (Intercept) 1.643e+02
## `LocationDescription.my.fctrPARKING LOT/GARAGE(NON.RESID.)` 3.442e-02
## LocationDescription.my.fctrOTHER 5.641e-02
## LocationDescription.my.fctrSTORE 5.582e-02
## LocationDescription.my.fctrALLEY 7.889e-02
## `LocationDescription.my.fctrGAS STATION` 6.550e-02
## `LocationDescription.my.fctrOTHER TRANSPORTATION` 3.917e-01
## `LocationDescription.my.fctrGOVERNMENT BUILDING/PROPERTY` 1.422e-01
## `LocationDescription.my.fctrPARK PROPERTY` 2.162e-01
## LocationDescription.my.fctrSIDEWALK 2.043e-01
## `LocationDescription.my.fctrVACANT LOT/LAND` 1.520e-01
## `LocationDescription.my.fctrSCHOOL/COLLEGE` 1.596e-01
## LocationDescription.my.fctrOFFICE 2.654e-01
## LocationDescription.my.fctrAPARTMENT 2.281e-01
## `LocationDescription.my.fctrHOTEL/MOTEL` 2.463e-01
## LocationDescription.my.fctrAIRPORT 1.361e-01
## LocationDescription.my.fctrHOSPITAL 3.665e-01
## `LocationDescription.my.fctrVEHICLE NON-COMMERCIAL` 1.639e-01
## `LocationDescription.my.fctrSPORTS ARENA/STADIUM` 4.415e-01
## `Date.minute.fctr(14.8,29.5]` 4.015e-02
## `Date.minute.fctr(29.5,44.2]` 2.515e-02
## `Date.minute.fctr(44.2,59.1]` 3.924e-02
## Date.last1.log 3.183e-03
## DomesticTRUE 1.571e-01
## Date.day.minutes.poly.5 4.690e+00
## Date.wkend 2.598e-01
## Date.day.minutes.poly.1 1.560e+01
## `Date.hour.fctr(7.67,15.3]` 6.724e-02
## `Date.hour.fctr(15.3,23]` 8.819e-02
## Date.last10.log 2.698e-02
## Date.day.minutes.poly.4 6.479e+00
## .rnorm 1.010e-02
## Beat 1.440e-05
## Date.wkday.fctr1 2.603e-01
## Date.wkday.fctr2 2.621e-01
## Date.wkday.fctr3 2.620e-01
## Date.wkday.fctr4 2.620e-01
## Date.wkday.fctr5 2.621e-01
## Date.wkday.fctr6 3.741e-02
## `Date.date.fctr(7,13]` 3.078e-02
## `Date.date.fctr(13,19]` 3.118e-02
## `Date.date.fctr(19,25]` 3.092e-02
## `Date.date.fctr(25,31]` 3.198e-02
## Date.month.fctr02 4.950e-02
## Date.month.fctr03 4.862e-02
## Date.month.fctr04 4.875e-02
## Date.month.fctr05 4.956e-02
## Date.month.fctr06 4.887e-02
## Date.month.fctr07 4.846e-02
## Date.month.fctr08 4.856e-02
## Date.month.fctr09 4.910e-02
## Date.month.fctr10 4.818e-02
## Date.month.fctr11 4.882e-02
## Date.month.fctr12 4.748e-02
## Date.day.minutes.poly.3 5.268e+00
## Date.last100.log 3.272e-02
## Date.day.minutes.poly.2 8.578e+00
## Date.year.fctr2002 8.986e-02
## Date.year.fctr2003 1.680e-01
## Date.year.fctr2004 2.484e-01
## Date.year.fctr2005 3.297e-01
## Date.year.fctr2006 4.114e-01
## Date.year.fctr2007 4.931e-01
## Date.year.fctr2008 5.750e-01
## Date.year.fctr2009 6.570e-01
## Date.year.fctr2010 7.389e-01
## Date.year.fctr2011 8.209e-01
## Date.year.fctr2012 9.028e-01
## Year 8.209e-02
## z value
## (Intercept) 0.899
## `LocationDescription.my.fctrPARKING LOT/GARAGE(NON.RESID.)` 7.947
## LocationDescription.my.fctrOTHER 6.740
## LocationDescription.my.fctrSTORE 5.128
## LocationDescription.my.fctrALLEY 4.967
## `LocationDescription.my.fctrGAS STATION` 16.305
## `LocationDescription.my.fctrOTHER TRANSPORTATION` 0.463
## `LocationDescription.my.fctrGOVERNMENT BUILDING/PROPERTY` 0.519
## `LocationDescription.my.fctrPARK PROPERTY` 2.218
## LocationDescription.my.fctrSIDEWALK -0.125
## `LocationDescription.my.fctrVACANT LOT/LAND` -0.634
## `LocationDescription.my.fctrSCHOOL/COLLEGE` 4.298
## LocationDescription.my.fctrOFFICE 2.571
## LocationDescription.my.fctrAPARTMENT 4.185
## `LocationDescription.my.fctrHOTEL/MOTEL` 5.516
## LocationDescription.my.fctrAIRPORT 10.636
## LocationDescription.my.fctrHOSPITAL 0.210
## `LocationDescription.my.fctrVEHICLE NON-COMMERCIAL` 1.399
## `LocationDescription.my.fctrSPORTS ARENA/STADIUM` -0.466
## `Date.minute.fctr(14.8,29.5]` 8.462
## `Date.minute.fctr(29.5,44.2]` 4.560
## `Date.minute.fctr(44.2,59.1]` 9.970
## Date.last1.log 4.105
## DomesticTRUE 6.755
## Date.day.minutes.poly.5 1.579
## Date.wkend 1.494
## Date.day.minutes.poly.1 1.566
## `Date.hour.fctr(7.67,15.3]` -0.827
## `Date.hour.fctr(15.3,23]` -0.635
## Date.last10.log 1.234
## Date.day.minutes.poly.4 0.924
## .rnorm 0.890
## Beat 0.447
## Date.wkday.fctr1 1.115
## Date.wkday.fctr2 1.054
## Date.wkday.fctr3 1.213
## Date.wkday.fctr4 0.985
## Date.wkday.fctr5 1.173
## Date.wkday.fctr6 -1.198
## `Date.date.fctr(7,13]` 0.503
## `Date.date.fctr(13,19]` -1.871
## `Date.date.fctr(19,25]` -0.150
## `Date.date.fctr(25,31]` -0.481
## Date.month.fctr02 0.374
## Date.month.fctr03 -1.833
## Date.month.fctr04 -0.977
## Date.month.fctr05 -3.241
## Date.month.fctr06 -2.031
## Date.month.fctr07 -2.701
## Date.month.fctr08 -2.584
## Date.month.fctr09 -2.816
## Date.month.fctr10 -2.766
## Date.month.fctr11 -2.268
## Date.month.fctr12 -0.151
## Date.day.minutes.poly.3 -4.142
## Date.last100.log 0.879
## Date.day.minutes.poly.2 -4.301
## Date.year.fctr2002 2.114
## Date.year.fctr2003 1.228
## Date.year.fctr2004 0.733
## Date.year.fctr2005 0.522
## Date.year.fctr2006 0.298
## Date.year.fctr2007 0.442
## Date.year.fctr2008 0.218
## Date.year.fctr2009 0.265
## Date.year.fctr2010 -0.303
## Date.year.fctr2011 -0.283
## Date.year.fctr2012 -0.222
## Year -0.919
## Pr(>|z|)
## (Intercept) 0.36840
## `LocationDescription.my.fctrPARKING LOT/GARAGE(NON.RESID.)` 1.91e-15 ***
## LocationDescription.my.fctrOTHER 1.58e-11 ***
## LocationDescription.my.fctrSTORE 2.93e-07 ***
## LocationDescription.my.fctrALLEY 6.79e-07 ***
## `LocationDescription.my.fctrGAS STATION` < 2e-16 ***
## `LocationDescription.my.fctrOTHER TRANSPORTATION` 0.64355
## `LocationDescription.my.fctrGOVERNMENT BUILDING/PROPERTY` 0.60385
## `LocationDescription.my.fctrPARK PROPERTY` 0.02652 *
## LocationDescription.my.fctrSIDEWALK 0.90028
## `LocationDescription.my.fctrVACANT LOT/LAND` 0.52587
## `LocationDescription.my.fctrSCHOOL/COLLEGE` 1.73e-05 ***
## LocationDescription.my.fctrOFFICE 0.01013 *
## LocationDescription.my.fctrAPARTMENT 2.85e-05 ***
## `LocationDescription.my.fctrHOTEL/MOTEL` 3.46e-08 ***
## LocationDescription.my.fctrAIRPORT < 2e-16 ***
## LocationDescription.my.fctrHOSPITAL 0.83390
## `LocationDescription.my.fctrVEHICLE NON-COMMERCIAL` 0.16189
## `LocationDescription.my.fctrSPORTS ARENA/STADIUM` 0.64109
## `Date.minute.fctr(14.8,29.5]` < 2e-16 ***
## `Date.minute.fctr(29.5,44.2]` 5.12e-06 ***
## `Date.minute.fctr(44.2,59.1]` < 2e-16 ***
## Date.last1.log 4.05e-05 ***
## DomesticTRUE 1.43e-11 ***
## Date.day.minutes.poly.5 0.11431
## Date.wkend 0.13511
## Date.day.minutes.poly.1 0.11723
## `Date.hour.fctr(7.67,15.3]` 0.40801
## `Date.hour.fctr(15.3,23]` 0.52555
## Date.last10.log 0.21712
## Date.day.minutes.poly.4 0.35536
## .rnorm 0.37349
## Beat 0.65496
## Date.wkday.fctr1 0.26496
## Date.wkday.fctr2 0.29169
## Date.wkday.fctr3 0.22502
## Date.wkday.fctr4 0.32475
## Date.wkday.fctr5 0.24089
## Date.wkday.fctr6 0.23087
## `Date.date.fctr(7,13]` 0.61467
## `Date.date.fctr(13,19]` 0.06140 .
## `Date.date.fctr(19,25]` 0.88061
## `Date.date.fctr(25,31]` 0.63040
## Date.month.fctr02 0.70817
## Date.month.fctr03 0.06686 .
## Date.month.fctr04 0.32834
## Date.month.fctr05 0.00119 **
## Date.month.fctr06 0.04221 *
## Date.month.fctr07 0.00692 **
## Date.month.fctr08 0.00977 **
## Date.month.fctr09 0.00487 **
## Date.month.fctr10 0.00568 **
## Date.month.fctr11 0.02335 *
## Date.month.fctr12 0.87984
## Date.day.minutes.poly.3 3.44e-05 ***
## Date.last100.log 0.37960
## Date.day.minutes.poly.2 1.70e-05 ***
## Date.year.fctr2002 0.03450 *
## Date.year.fctr2003 0.21945
## Date.year.fctr2004 0.46330
## Date.year.fctr2005 0.60198
## Date.year.fctr2006 0.76589
## Date.year.fctr2007 0.65870
## Date.year.fctr2008 0.82754
## Date.year.fctr2009 0.79071
## Date.year.fctr2010 0.76182
## Date.year.fctr2011 0.77745
## Date.year.fctr2012 0.82439
## Year 0.35797
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 75490 on 134147 degrees of freedom
## Residual deviance: 73216 on 134079 degrees of freedom
## AIC: 73354
##
## Number of Fisher Scoring iterations: 6
##
## [1] " calling mypredict_mdl for fit:"
## threshold f.score
## 1 0.0 0.149976211
## 2 0.1 0.190899053
## 3 0.2 0.061185161
## 4 0.3 0.015606781
## 5 0.4 0.001468698
## 6 0.5 0.000000000
## 7 0.6 0.000000000
## 8 0.7 0.000000000
## 9 0.8 0.000000000
## 10 0.9 0.000000000
## 11 1.0 0.000000000
## [1] "Classifier Probability Threshold: 0.1000 to maximize f.score.fit"
## Arrest.fctr Arrest.fctr.predict.All.X.bayesglm.F
## 1 F 95644
## 2 T 6812
## Arrest.fctr.predict.All.X.bayesglm.T
## 1 27629
## 2 4063
## Warning in ni[1:m] * nj[1:m]: NAs produced by integer overflow
## Prediction
## Reference F T
## F 95644 27629
## T 6812 4063
## Accuracy Kappa AccuracyLower AccuracyUpper AccuracyNull
## 0.7432612 NA 0.7409146 0.7455972 0.9189328
## AccuracyPValue McnemarPValue
## 1.0000000 0.0000000
## [1] " calling mypredict_mdl for OOB:"
## threshold f.score
## 1 0.0 0.149982302
## 2 0.1 0.182522365
## 3 0.2 0.050508858
## 4 0.3 0.015047022
## 5 0.4 0.001283422
## 6 0.5 0.000000000
## 7 0.6 0.000000000
## 8 0.7 0.000000000
## 9 0.8 0.000000000
## 10 0.9 0.000000000
## 11 1.0 0.000000000
## [1] "Classifier Probability Threshold: 0.1000 to maximize f.score.OOB"
## Arrest.fctr Arrest.fctr.predict.All.X.bayesglm.F
## 1 F 40834
## 2 T 2988
## Arrest.fctr.predict.All.X.bayesglm.T
## 1 11998
## 2 1673
## Warning in ni[1:m] * nj[1:m]: NAs produced by integer overflow
## Prediction
## Reference F T
## F 40834 11998
## T 2988 1673
## Accuracy Kappa AccuracyLower AccuracyUpper AccuracyNull
## 0.7393422 NA 0.7357331 0.7429271 0.9189293
## AccuracyPValue McnemarPValue
## 1.0000000 0.0000000
## model_id model_method
## 1 All.X.bayesglm bayesglm
## feats
## 1 LocationDescription.my.fctr, Date.minute.fctr, Date.last1.log, Domestic, Date.day.minutes.poly.5, Date.wkend, Date.day.minutes.poly.1, Date.hour.fctr, Date.last10.log, Date.day.minutes.poly.4, .rnorm, Beat, Date.wkday.fctr, Date.date.fctr, Date.month.fctr, Date.day.minutes.poly.3, Date.last100.log, Date.day.minutes.poly.2, Date.year.fctr, Year
## max.nTuningRuns min.elapsedtime.everything min.elapsedtime.final
## 1 1 92.579 36.335
## max.auc.fit opt.prob.threshold.fit max.f.score.fit max.Accuracy.fit
## 1 0.630382 0.1 0.1908991 0.9189179
## max.AccuracyLower.fit max.AccuracyUpper.fit max.Kappa.fit max.auc.OOB
## 1 0.7409146 0.7455972 -2.981092e-05 0.6216391
## opt.prob.threshold.OOB max.f.score.OOB max.Accuracy.OOB
## 1 0.1 0.1825224 0.7393422
## max.AccuracyLower.OOB max.AccuracyUpper.OOB max.Kappa.OOB min.aic.fit
## 1 0.7357331 0.7429271 NA 73354.22
## max.AccuracySD.fit max.KappaSD.fit
## 1 1.291149e-05 2.581702e-05
## label step_major step_minor bgn end elapsed
## 3 fit.models_1_bayesglm 3 0 1081.462 1281.143 199.682
## 4 fit.models_1_rpart 4 0 1281.145 NA NA
## [1] "fitting model: All.X.no.rnorm.rpart"
## [1] " indep_vars: LocationDescription.my.fctr, Date.minute.fctr, Date.last1.log, Domestic, Date.day.minutes.poly.5, Date.wkend, Date.day.minutes.poly.1, Date.hour.fctr, Date.last10.log, Date.day.minutes.poly.4, Beat, Date.wkday.fctr, Date.date.fctr, Date.month.fctr, Date.day.minutes.poly.3, Date.last100.log, Date.day.minutes.poly.2, Date.year.fctr, Year"
## Aggregating results
## Selecting tuning parameters
## Fitting cp = 0.000129 on full training set
## Warning in myfit_mdl(model_id = model_id, model_method = method,
## indep_vars_vctr = indep_vars_vctr, : model's bestTune found at an extreme
## of tuneGrid for parameter: cp
## Call:
## rpart(formula = .outcome ~ ., control = list(minsplit = 20, minbucket = 7,
## cp = 0, maxcompete = 4, maxsurrogate = 5, usesurrogate = 2,
## surrogatestyle = 0, maxdepth = 30, xval = 0))
## n= 134148
##
## CP nsplit rel error
## 1 0.0001287356 0 1
##
## Node number 1: 134148 observations
## predicted class=F expected loss=0.08106718 P(node) =1
## class counts: 123273 10875
## probabilities: 0.919 0.081
##
## n= 134148
##
## node), split, n, loss, yval, (yprob)
## * denotes terminal node
##
## 1) root 134148 10875 F (0.91893282 0.08106718) *
## [1] " calling mypredict_mdl for fit:"
## [1] "Classifier Probability Threshold: 0.5000 to maximize f.score.fit"
## Arrest.fctr Arrest.fctr.predict.All.X.no.rnorm.rpart.F
## 1 F 123273
## 2 T 10875
## Warning in ni[1:m] * nj[1:m]: NAs produced by integer overflow
## Prediction
## Reference F T
## F 123273 0
## T 10875 0
## Accuracy Kappa AccuracyLower AccuracyUpper AccuracyNull
## 0.9189328 NA 0.9174595 0.9203880 0.9189328
## AccuracyPValue McnemarPValue
## 0.5025526 0.0000000
## [1] " calling mypredict_mdl for OOB:"
## [1] "Classifier Probability Threshold: 0.5000 to maximize f.score.OOB"
## Arrest.fctr Arrest.fctr.predict.All.X.no.rnorm.rpart.F
## 1 F 52832
## 2 T 4661
## Warning in ni[1:m] * nj[1:m]: NAs produced by integer overflow
## Prediction
## Reference F T
## F 52832 0
## T 4661 0
## Accuracy Kappa AccuracyLower AccuracyUpper AccuracyNull
## 0.9189293 NA 0.9166683 0.9211478 0.9189293
## AccuracyPValue McnemarPValue
## 0.5038990 0.0000000
## model_id model_method
## 1 All.X.no.rnorm.rpart rpart
## feats
## 1 LocationDescription.my.fctr, Date.minute.fctr, Date.last1.log, Domestic, Date.day.minutes.poly.5, Date.wkend, Date.day.minutes.poly.1, Date.hour.fctr, Date.last10.log, Date.day.minutes.poly.4, Beat, Date.wkday.fctr, Date.date.fctr, Date.month.fctr, Date.day.minutes.poly.3, Date.last100.log, Date.day.minutes.poly.2, Date.year.fctr, Year
## max.nTuningRuns min.elapsedtime.everything min.elapsedtime.final
## 1 3 166.535 28.9
## max.auc.fit opt.prob.threshold.fit max.f.score.fit max.Accuracy.fit
## 1 0.5 0.5 0 0.9175388
## max.AccuracyLower.fit max.AccuracyUpper.fit max.Kappa.fit max.auc.OOB
## 1 0.9174595 0.920388 0.005559699 0.5
## opt.prob.threshold.OOB max.f.score.OOB max.Accuracy.OOB
## 1 0.5 0 0.9189293
## max.AccuracyLower.OOB max.AccuracyUpper.OOB max.Kappa.OOB
## 1 0.9166683 0.9211478 NA
## max.AccuracySD.fit max.KappaSD.fit
## 1 0.0005569928 0.00155869
# User specified
# easier to exclude features
#model_id_pfx <- "";
# indep_vars_vctr <- setdiff(names(glb_fitobs_df),
# union(union(glb_rsp_var, glb_exclude_vars_as_features),
# c("<feat1_name>", "<feat2_name>")))
# method <- ""
# easier to include features
# sav_models_lst <- glb_models_lst; sav_models_df <- glb_models_df; sav_featsimp_df <- glb_featsimp_df
# glb_models_lst <- sav_models_lst; glb_models_df <- sav_models_df; glm_featsimp_df <- sav_featsimp_df
#table(glb_allobs_df$myCategory, glb_allobs_df$H.P.readers.respond, glb_allobs_df[, glb_rsp_var], useNA="ifany")
#model_id <- "Rank9.2"; indep_vars_vctr <- c(NULL
# ,"<feat1>"
# ,"<feat1>*<feat2>"
# ,"<feat1>:<feat2>"
# )
# for (method in c("bayesglm")) {
# ret_lst <- myfit_mdl(model_id=model_id, model_method=method,
# indep_vars_vctr=indep_vars_vctr,
# model_type=glb_model_type,
# rsp_var=glb_rsp_var, rsp_var_out=glb_rsp_var_out,
# fit_df=glb_fitobs_df, OOB_df=glb_OOBobs_df,
# n_cv_folds=glb_n_cv_folds, tune_models_df=glb_tune_models_df)
# # csm_mdl_id <- paste0(model_id, ".", method)
# # csm_featsimp_df <- myget_feats_importance(glb_models_lst[[paste0(model_id, ".", method)]]); print(head(csm_featsimp_df))
# }
#csm_featsimp_df[grepl("H.npnct19.log", row.names(csm_featsimp_df)), , FALSE]
#csm_OOBobs_df <- glb_get_predictions(glb_OOBobs_df, mdl_id=csm_mdl_id, rsp_var_out=glb_rsp_var_out, prob_threshold_def=glb_models_df[glb_models_df$model_id == csm_mdl_id, "opt.prob.threshold.OOB"])
#print(sprintf("%s OOB confusion matrix & accuracy: ", csm_mdl_id)); print(t(confusionMatrix(csm_OOBobs_df[, paste0(glb_rsp_var_out, csm_mdl_id)], csm_OOBobs_df[, glb_rsp_var])$table))
#glb_models_df[, "max.Accuracy.OOB", FALSE]
#varImp(glb_models_lst[["Low.cor.X.glm"]])
#orderBy(~ -Overall, varImp(glb_models_lst[["All.X.2.glm"]])$importance)
#orderBy(~ -Overall, varImp(glb_models_lst[["All.X.3.glm"]])$importance)
#glb_feats_df[grepl("npnct28", glb_feats_df$id), ]
#print(sprintf("%s OOB confusion matrix & accuracy: ", glb_sel_mdl_id)); print(t(confusionMatrix(glb_OOBobs_df[, paste0(glb_rsp_var_out, glb_sel_mdl_id)], glb_OOBobs_df[, glb_rsp_var])$table))
# User specified bivariate models
# indep_vars_vctr_lst <- list()
# for (feat in setdiff(names(glb_fitobs_df),
# union(glb_rsp_var, glb_exclude_vars_as_features)))
# indep_vars_vctr_lst[["feat"]] <- feat
# User specified combinatorial models
# indep_vars_vctr_lst <- list()
# combn_mtrx <- combn(c("<feat1_name>", "<feat2_name>", "<featn_name>"),
# <num_feats_to_choose>)
# for (combn_ix in 1:ncol(combn_mtrx))
# #print(combn_mtrx[, combn_ix])
# indep_vars_vctr_lst[[combn_ix]] <- combn_mtrx[, combn_ix]
# template for myfit_mdl
# rf is hard-coded in caret to recognize only Accuracy / Kappa evaluation metrics
# only for OOB in trainControl ?
# ret_lst <- myfit_mdl_fn(model_id=paste0(model_id_pfx, ""), model_method=method,
# indep_vars_vctr=indep_vars_vctr,
# rsp_var=glb_rsp_var, rsp_var_out=glb_rsp_var_out,
# fit_df=glb_fitobs_df, OOB_df=glb_OOBobs_df,
# n_cv_folds=glb_n_cv_folds, tune_models_df=glb_tune_models_df,
# model_loss_mtrx=glb_model_metric_terms,
# model_summaryFunction=glb_model_metric_smmry,
# model_metric=glb_model_metric,
# model_metric_maximize=glb_model_metric_maximize)
# Simplify a model
# fit_df <- glb_fitobs_df; glb_mdl <- step(<complex>_mdl)
# Non-caret models
# rpart_area_mdl <- rpart(reformulate("Area", response=glb_rsp_var),
# data=glb_fitobs_df, #method="class",
# control=rpart.control(cp=0.12),
# parms=list(loss=glb_model_metric_terms))
# print("rpart_sel_wlm_mdl"); prp(rpart_sel_wlm_mdl)
#
print(glb_models_df)
## model_id model_method
## MFO.myMFO_classfr MFO.myMFO_classfr myMFO_classfr
## Random.myrandom_classfr Random.myrandom_classfr myrandom_classfr
## Max.cor.Y.cv.0.rpart Max.cor.Y.cv.0.rpart rpart
## Max.cor.Y.cv.0.cp.0.rpart Max.cor.Y.cv.0.cp.0.rpart rpart
## Max.cor.Y.rpart Max.cor.Y.rpart rpart
## Max.cor.Y.glm Max.cor.Y.glm glm
## Max.cor.Y.TmSrs.poly.glm Max.cor.Y.TmSrs.poly.glm glm
## Interact.High.cor.Y.glm Interact.High.cor.Y.glm glm
## Low.cor.X.glm Low.cor.X.glm glm
## All.X.glm All.X.glm glm
## All.X.bayesglm All.X.bayesglm bayesglm
## All.X.no.rnorm.rpart All.X.no.rnorm.rpart rpart
## feats
## MFO.myMFO_classfr .rnorm
## Random.myrandom_classfr .rnorm
## Max.cor.Y.cv.0.rpart Date.year.fctr, LocationDescription.my.fctr
## Max.cor.Y.cv.0.cp.0.rpart Date.year.fctr, LocationDescription.my.fctr
## Max.cor.Y.rpart Date.year.fctr, LocationDescription.my.fctr
## Max.cor.Y.glm Date.year.fctr, LocationDescription.my.fctr
## Max.cor.Y.TmSrs.poly.glm Date.year.fctr, LocationDescription.my.fctr, Date.day.minutes.poly.1, Date.day.minutes.poly.2, Date.day.minutes.poly.3, Date.day.minutes.poly.4, Date.day.minutes.poly.5
## Interact.High.cor.Y.glm Date.year.fctr, LocationDescription.my.fctr, Date.year.fctr:Date.day.minutes.poly.1, Date.year.fctr:Date.year.fctr
## Low.cor.X.glm LocationDescription.my.fctr, Date.minute.fctr, Date.last1.log, Domestic, Date.day.minutes.poly.5, Date.wkend, Date.day.minutes.poly.1, Date.last10.log, Date.day.minutes.poly.4, .rnorm, Beat, Date.wkday.fctr, Date.date.fctr, Date.month.fctr, Date.day.minutes.poly.3, Date.last100.log, Date.day.minutes.poly.2, Date.year.fctr
## All.X.glm LocationDescription.my.fctr, Date.minute.fctr, Date.last1.log, Domestic, Date.day.minutes.poly.5, Date.wkend, Date.day.minutes.poly.1, Date.hour.fctr, Date.last10.log, Date.day.minutes.poly.4, .rnorm, Beat, Date.wkday.fctr, Date.date.fctr, Date.month.fctr, Date.day.minutes.poly.3, Date.last100.log, Date.day.minutes.poly.2, Date.year.fctr, Year
## All.X.bayesglm LocationDescription.my.fctr, Date.minute.fctr, Date.last1.log, Domestic, Date.day.minutes.poly.5, Date.wkend, Date.day.minutes.poly.1, Date.hour.fctr, Date.last10.log, Date.day.minutes.poly.4, .rnorm, Beat, Date.wkday.fctr, Date.date.fctr, Date.month.fctr, Date.day.minutes.poly.3, Date.last100.log, Date.day.minutes.poly.2, Date.year.fctr, Year
## All.X.no.rnorm.rpart LocationDescription.my.fctr, Date.minute.fctr, Date.last1.log, Domestic, Date.day.minutes.poly.5, Date.wkend, Date.day.minutes.poly.1, Date.hour.fctr, Date.last10.log, Date.day.minutes.poly.4, Beat, Date.wkday.fctr, Date.date.fctr, Date.month.fctr, Date.day.minutes.poly.3, Date.last100.log, Date.day.minutes.poly.2, Date.year.fctr, Year
## max.nTuningRuns min.elapsedtime.everything
## MFO.myMFO_classfr 0 0.519
## Random.myrandom_classfr 0 0.472
## Max.cor.Y.cv.0.rpart 0 30.702
## Max.cor.Y.cv.0.cp.0.rpart 0 10.881
## Max.cor.Y.rpart 3 39.392
## Max.cor.Y.glm 1 25.917
## Max.cor.Y.TmSrs.poly.glm 1 32.144
## Interact.High.cor.Y.glm 1 33.996
## Low.cor.X.glm 1 61.821
## All.X.glm 1 72.501
## All.X.bayesglm 1 92.579
## All.X.no.rnorm.rpart 3 166.535
## min.elapsedtime.final max.auc.fit
## MFO.myMFO_classfr 0.017 0.5000000
## Random.myrandom_classfr 0.015 0.5005823
## Max.cor.Y.cv.0.rpart 10.069 0.5000000
## Max.cor.Y.cv.0.cp.0.rpart 9.941 0.6010978
## Max.cor.Y.rpart 9.958 0.5000000
## Max.cor.Y.glm 11.077 0.6147946
## Max.cor.Y.TmSrs.poly.glm 14.622 0.6197432
## Interact.High.cor.Y.glm 15.067 0.6153164
## Low.cor.X.glm 27.194 0.6303895
## All.X.glm 27.639 0.6303896
## All.X.bayesglm 36.335 0.6303820
## All.X.no.rnorm.rpart 28.900 0.5000000
## opt.prob.threshold.fit max.f.score.fit
## MFO.myMFO_classfr 0.5 0.0000000
## Random.myrandom_classfr 0.0 0.1499762
## Max.cor.Y.cv.0.rpart 0.5 0.0000000
## Max.cor.Y.cv.0.cp.0.rpart 0.1 0.1770655
## Max.cor.Y.rpart 0.5 0.0000000
## Max.cor.Y.glm 0.1 0.1762363
## Max.cor.Y.TmSrs.poly.glm 0.1 0.1832574
## Interact.High.cor.Y.glm 0.1 0.1782440
## Low.cor.X.glm 0.1 0.1907336
## All.X.glm 0.1 0.1909822
## All.X.bayesglm 0.1 0.1908991
## All.X.no.rnorm.rpart 0.5 0.0000000
## max.Accuracy.fit max.AccuracyLower.fit
## MFO.myMFO_classfr 0.91893282 0.91745946
## Random.myrandom_classfr 0.08106718 0.07961195
## Max.cor.Y.cv.0.rpart 0.91893282 0.91745946
## Max.cor.Y.cv.0.cp.0.rpart 0.72401378 0.72161316
## Max.cor.Y.rpart 0.91887318 0.91745946
## Max.cor.Y.glm 0.91893282 0.77112726
## Max.cor.Y.TmSrs.poly.glm 0.91893282 0.74923650
## Interact.High.cor.Y.glm 0.91893282 0.74775597
## Low.cor.X.glm 0.91891791 0.74101926
## All.X.glm 0.91891791 0.74111646
## All.X.bayesglm 0.91891791 0.74091459
## All.X.no.rnorm.rpart 0.91753884 0.91745946
## max.AccuracyUpper.fit max.Kappa.fit max.auc.OOB
## MFO.myMFO_classfr 0.92038805 NA 0.5000000
## Random.myrandom_classfr 0.08254054 0.000000e+00 0.4980179
## Max.cor.Y.cv.0.rpart 0.92038805 NA 0.5000000
## Max.cor.Y.cv.0.cp.0.rpart 0.72640471 NA 0.5969728
## Max.cor.Y.rpart 0.92038805 3.473869e-05 0.5000000
## Max.cor.Y.glm 0.77561525 0.000000e+00 0.6120104
## Max.cor.Y.TmSrs.poly.glm 0.75386858 0.000000e+00 0.6132807
## Interact.High.cor.Y.glm 0.75239721 0.000000e+00 0.6115971
## Low.cor.X.glm 0.74570129 -2.981092e-05 0.6215335
## All.X.glm 0.74579790 -2.981092e-05 0.6216375
## All.X.bayesglm 0.74559724 -2.981092e-05 0.6216391
## All.X.no.rnorm.rpart 0.92038805 5.559699e-03 0.5000000
## opt.prob.threshold.OOB max.f.score.OOB
## MFO.myMFO_classfr 0.5 0.0000000
## Random.myrandom_classfr 0.0 0.1499823
## Max.cor.Y.cv.0.rpart 0.5 0.0000000
## Max.cor.Y.cv.0.cp.0.rpart 0.1 0.1715527
## Max.cor.Y.rpart 0.5 0.0000000
## Max.cor.Y.glm 0.1 0.1679843
## Max.cor.Y.TmSrs.poly.glm 0.1 0.1777778
## Interact.High.cor.Y.glm 0.1 0.1712947
## Low.cor.X.glm 0.1 0.1826424
## All.X.glm 0.1 0.1826818
## All.X.bayesglm 0.1 0.1825224
## All.X.no.rnorm.rpart 0.5 0.0000000
## max.Accuracy.OOB max.AccuracyLower.OOB
## MFO.myMFO_classfr 0.91892926 0.91666828
## Random.myrandom_classfr 0.08107074 0.07885216
## Max.cor.Y.cv.0.rpart 0.91892926 0.91666828
## Max.cor.Y.cv.0.cp.0.rpart 0.72130520 0.71762048
## Max.cor.Y.rpart 0.91892926 0.91666828
## Max.cor.Y.glm 0.77118954 0.76773352
## Max.cor.Y.TmSrs.poly.glm 0.74901292 0.74544757
## Interact.High.cor.Y.glm 0.74772581 0.74415450
## Low.cor.X.glm 0.73970744 0.73609995
## All.X.glm 0.73962048 0.73601260
## All.X.bayesglm 0.73934218 0.73573308
## All.X.no.rnorm.rpart 0.91892926 0.91666828
## max.AccuracyUpper.OOB max.Kappa.OOB
## MFO.myMFO_classfr 0.92114784 NA
## Random.myrandom_classfr 0.08333172 0
## Max.cor.Y.cv.0.rpart 0.92114784 NA
## Max.cor.Y.cv.0.cp.0.rpart 0.72496758 NA
## Max.cor.Y.rpart 0.92114784 NA
## Max.cor.Y.glm 0.77461815 NA
## Max.cor.Y.TmSrs.poly.glm 0.75255312 NA
## Interact.High.cor.Y.glm 0.75127210 NA
## Low.cor.X.glm 0.74329072 NA
## All.X.glm 0.74320415 NA
## All.X.bayesglm 0.74292711 NA
## All.X.no.rnorm.rpart 0.92114784 NA
## max.AccuracySD.fit max.KappaSD.fit min.aic.fit
## MFO.myMFO_classfr NA NA NA
## Random.myrandom_classfr NA NA NA
## Max.cor.Y.cv.0.rpart NA NA NA
## Max.cor.Y.cv.0.cp.0.rpart NA NA NA
## Max.cor.Y.rpart 1.032919e-04 6.016917e-05 NA
## Max.cor.Y.glm 0.000000e+00 0.000000e+00 73712.38
## Max.cor.Y.TmSrs.poly.glm 0.000000e+00 0.000000e+00 73598.81
## Interact.High.cor.Y.glm 0.000000e+00 0.000000e+00 73721.34
## Low.cor.X.glm 1.291149e-05 2.581702e-05 73348.87
## All.X.glm 1.291149e-05 2.581702e-05 73352.18
## All.X.bayesglm 1.291149e-05 2.581702e-05 73354.22
## All.X.no.rnorm.rpart 5.569928e-04 1.558690e-03 NA
rm(ret_lst)
fit.models_1_chunk_df <- myadd_chunk(fit.models_1_chunk_df, "fit.models_1_end",
major.inc=TRUE)
## label step_major step_minor bgn end elapsed
## 4 fit.models_1_rpart 4 0 1281.145 1466.712 185.567
## 5 fit.models_1_end 5 0 1466.713 NA NA
glb_chunks_df <- myadd_chunk(glb_chunks_df, "fit.models", major.inc=FALSE)
## label step_major step_minor bgn end elapsed
## 11 fit.models 7 1 818.733 1466.72 647.988
## 12 fit.models 7 2 1466.721 NA NA
if (!is.null(glb_model_metric_smmry)) {
stats_df <- glb_models_df[, "model_id", FALSE]
stats_mdl_df <- data.frame()
for (model_id in stats_df$model_id) {
stats_mdl_df <- rbind(stats_mdl_df,
mypredict_mdl(glb_models_lst[[model_id]], glb_fitobs_df, glb_rsp_var,
glb_rsp_var_out, model_id, "fit",
glb_model_metric_smmry, glb_model_metric,
glb_model_metric_maximize, ret_type="stats"))
}
stats_df <- merge(stats_df, stats_mdl_df, all.x=TRUE)
stats_mdl_df <- data.frame()
for (model_id in stats_df$model_id) {
stats_mdl_df <- rbind(stats_mdl_df,
mypredict_mdl(glb_models_lst[[model_id]], glb_OOBobs_df, glb_rsp_var,
glb_rsp_var_out, model_id, "OOB",
glb_model_metric_smmry, glb_model_metric,
glb_model_metric_maximize, ret_type="stats"))
}
stats_df <- merge(stats_df, stats_mdl_df, all.x=TRUE)
# tmp_models_df <- orderBy(~model_id, glb_models_df)
# rownames(tmp_models_df) <- seq(1, nrow(tmp_models_df))
# all.equal(subset(tmp_models_df[, names(stats_df)], model_id != "Random.myrandom_classfr"),
# subset(stats_df, model_id != "Random.myrandom_classfr"))
# print(subset(tmp_models_df[, names(stats_df)], model_id != "Random.myrandom_classfr")[, c("model_id", "max.Accuracy.fit")])
# print(subset(stats_df, model_id != "Random.myrandom_classfr")[, c("model_id", "max.Accuracy.fit")])
print("Merging following data into glb_models_df:")
print(stats_mrg_df <- stats_df[, c(1, grep(glb_model_metric, names(stats_df)))])
print(tmp_models_df <- orderBy(~model_id, glb_models_df[, c("model_id", grep(glb_model_metric, names(stats_df), value=TRUE))]))
tmp2_models_df <- glb_models_df[, c("model_id", setdiff(names(glb_models_df), grep(glb_model_metric, names(stats_df), value=TRUE)))]
tmp3_models_df <- merge(tmp2_models_df, stats_mrg_df, all.x=TRUE, sort=FALSE)
print(tmp3_models_df)
print(names(tmp3_models_df))
print(glb_models_df <- subset(tmp3_models_df, select=-model_id.1))
}
plt_models_df <- glb_models_df[, -grep("SD|Upper|Lower", names(glb_models_df))]
for (var in grep("^min.", names(plt_models_df), value=TRUE)) {
plt_models_df[, sub("min.", "inv.", var)] <-
#ifelse(all(is.na(tmp <- plt_models_df[, var])), NA, 1.0 / tmp)
1.0 / plt_models_df[, var]
plt_models_df <- plt_models_df[ , -grep(var, names(plt_models_df))]
}
print(plt_models_df)
## model_id model_method
## MFO.myMFO_classfr MFO.myMFO_classfr myMFO_classfr
## Random.myrandom_classfr Random.myrandom_classfr myrandom_classfr
## Max.cor.Y.cv.0.rpart Max.cor.Y.cv.0.rpart rpart
## Max.cor.Y.cv.0.cp.0.rpart Max.cor.Y.cv.0.cp.0.rpart rpart
## Max.cor.Y.rpart Max.cor.Y.rpart rpart
## Max.cor.Y.glm Max.cor.Y.glm glm
## Max.cor.Y.TmSrs.poly.glm Max.cor.Y.TmSrs.poly.glm glm
## Interact.High.cor.Y.glm Interact.High.cor.Y.glm glm
## Low.cor.X.glm Low.cor.X.glm glm
## All.X.glm All.X.glm glm
## All.X.bayesglm All.X.bayesglm bayesglm
## All.X.no.rnorm.rpart All.X.no.rnorm.rpart rpart
## feats
## MFO.myMFO_classfr .rnorm
## Random.myrandom_classfr .rnorm
## Max.cor.Y.cv.0.rpart Date.year.fctr, LocationDescription.my.fctr
## Max.cor.Y.cv.0.cp.0.rpart Date.year.fctr, LocationDescription.my.fctr
## Max.cor.Y.rpart Date.year.fctr, LocationDescription.my.fctr
## Max.cor.Y.glm Date.year.fctr, LocationDescription.my.fctr
## Max.cor.Y.TmSrs.poly.glm Date.year.fctr, LocationDescription.my.fctr, Date.day.minutes.poly.1, Date.day.minutes.poly.2, Date.day.minutes.poly.3, Date.day.minutes.poly.4, Date.day.minutes.poly.5
## Interact.High.cor.Y.glm Date.year.fctr, LocationDescription.my.fctr, Date.year.fctr:Date.day.minutes.poly.1, Date.year.fctr:Date.year.fctr
## Low.cor.X.glm LocationDescription.my.fctr, Date.minute.fctr, Date.last1.log, Domestic, Date.day.minutes.poly.5, Date.wkend, Date.day.minutes.poly.1, Date.last10.log, Date.day.minutes.poly.4, .rnorm, Beat, Date.wkday.fctr, Date.date.fctr, Date.month.fctr, Date.day.minutes.poly.3, Date.last100.log, Date.day.minutes.poly.2, Date.year.fctr
## All.X.glm LocationDescription.my.fctr, Date.minute.fctr, Date.last1.log, Domestic, Date.day.minutes.poly.5, Date.wkend, Date.day.minutes.poly.1, Date.hour.fctr, Date.last10.log, Date.day.minutes.poly.4, .rnorm, Beat, Date.wkday.fctr, Date.date.fctr, Date.month.fctr, Date.day.minutes.poly.3, Date.last100.log, Date.day.minutes.poly.2, Date.year.fctr, Year
## All.X.bayesglm LocationDescription.my.fctr, Date.minute.fctr, Date.last1.log, Domestic, Date.day.minutes.poly.5, Date.wkend, Date.day.minutes.poly.1, Date.hour.fctr, Date.last10.log, Date.day.minutes.poly.4, .rnorm, Beat, Date.wkday.fctr, Date.date.fctr, Date.month.fctr, Date.day.minutes.poly.3, Date.last100.log, Date.day.minutes.poly.2, Date.year.fctr, Year
## All.X.no.rnorm.rpart LocationDescription.my.fctr, Date.minute.fctr, Date.last1.log, Domestic, Date.day.minutes.poly.5, Date.wkend, Date.day.minutes.poly.1, Date.hour.fctr, Date.last10.log, Date.day.minutes.poly.4, Beat, Date.wkday.fctr, Date.date.fctr, Date.month.fctr, Date.day.minutes.poly.3, Date.last100.log, Date.day.minutes.poly.2, Date.year.fctr, Year
## max.nTuningRuns max.auc.fit
## MFO.myMFO_classfr 0 0.5000000
## Random.myrandom_classfr 0 0.5005823
## Max.cor.Y.cv.0.rpart 0 0.5000000
## Max.cor.Y.cv.0.cp.0.rpart 0 0.6010978
## Max.cor.Y.rpart 3 0.5000000
## Max.cor.Y.glm 1 0.6147946
## Max.cor.Y.TmSrs.poly.glm 1 0.6197432
## Interact.High.cor.Y.glm 1 0.6153164
## Low.cor.X.glm 1 0.6303895
## All.X.glm 1 0.6303896
## All.X.bayesglm 1 0.6303820
## All.X.no.rnorm.rpart 3 0.5000000
## opt.prob.threshold.fit max.f.score.fit
## MFO.myMFO_classfr 0.5 0.0000000
## Random.myrandom_classfr 0.0 0.1499762
## Max.cor.Y.cv.0.rpart 0.5 0.0000000
## Max.cor.Y.cv.0.cp.0.rpart 0.1 0.1770655
## Max.cor.Y.rpart 0.5 0.0000000
## Max.cor.Y.glm 0.1 0.1762363
## Max.cor.Y.TmSrs.poly.glm 0.1 0.1832574
## Interact.High.cor.Y.glm 0.1 0.1782440
## Low.cor.X.glm 0.1 0.1907336
## All.X.glm 0.1 0.1909822
## All.X.bayesglm 0.1 0.1908991
## All.X.no.rnorm.rpart 0.5 0.0000000
## max.Accuracy.fit max.Kappa.fit max.auc.OOB
## MFO.myMFO_classfr 0.91893282 NA 0.5000000
## Random.myrandom_classfr 0.08106718 0.000000e+00 0.4980179
## Max.cor.Y.cv.0.rpart 0.91893282 NA 0.5000000
## Max.cor.Y.cv.0.cp.0.rpart 0.72401378 NA 0.5969728
## Max.cor.Y.rpart 0.91887318 3.473869e-05 0.5000000
## Max.cor.Y.glm 0.91893282 0.000000e+00 0.6120104
## Max.cor.Y.TmSrs.poly.glm 0.91893282 0.000000e+00 0.6132807
## Interact.High.cor.Y.glm 0.91893282 0.000000e+00 0.6115971
## Low.cor.X.glm 0.91891791 -2.981092e-05 0.6215335
## All.X.glm 0.91891791 -2.981092e-05 0.6216375
## All.X.bayesglm 0.91891791 -2.981092e-05 0.6216391
## All.X.no.rnorm.rpart 0.91753884 5.559699e-03 0.5000000
## opt.prob.threshold.OOB max.f.score.OOB
## MFO.myMFO_classfr 0.5 0.0000000
## Random.myrandom_classfr 0.0 0.1499823
## Max.cor.Y.cv.0.rpart 0.5 0.0000000
## Max.cor.Y.cv.0.cp.0.rpart 0.1 0.1715527
## Max.cor.Y.rpart 0.5 0.0000000
## Max.cor.Y.glm 0.1 0.1679843
## Max.cor.Y.TmSrs.poly.glm 0.1 0.1777778
## Interact.High.cor.Y.glm 0.1 0.1712947
## Low.cor.X.glm 0.1 0.1826424
## All.X.glm 0.1 0.1826818
## All.X.bayesglm 0.1 0.1825224
## All.X.no.rnorm.rpart 0.5 0.0000000
## max.Accuracy.OOB max.Kappa.OOB
## MFO.myMFO_classfr 0.91892926 NA
## Random.myrandom_classfr 0.08107074 0
## Max.cor.Y.cv.0.rpart 0.91892926 NA
## Max.cor.Y.cv.0.cp.0.rpart 0.72130520 NA
## Max.cor.Y.rpart 0.91892926 NA
## Max.cor.Y.glm 0.77118954 NA
## Max.cor.Y.TmSrs.poly.glm 0.74901292 NA
## Interact.High.cor.Y.glm 0.74772581 NA
## Low.cor.X.glm 0.73970744 NA
## All.X.glm 0.73962048 NA
## All.X.bayesglm 0.73934218 NA
## All.X.no.rnorm.rpart 0.91892926 NA
## inv.elapsedtime.everything inv.elapsedtime.final
## MFO.myMFO_classfr 1.926782274 58.82352941
## Random.myrandom_classfr 2.118644068 66.66666667
## Max.cor.Y.cv.0.rpart 0.032571168 0.09931473
## Max.cor.Y.cv.0.cp.0.rpart 0.091903318 0.10059350
## Max.cor.Y.rpart 0.025385865 0.10042177
## Max.cor.Y.glm 0.038584713 0.09027715
## Max.cor.Y.TmSrs.poly.glm 0.031110005 0.06839010
## Interact.High.cor.Y.glm 0.029415225 0.06637021
## Low.cor.X.glm 0.016175733 0.03677282
## All.X.glm 0.013792913 0.03618076
## All.X.bayesglm 0.010801586 0.02752167
## All.X.no.rnorm.rpart 0.006004744 0.03460208
## inv.aic.fit
## MFO.myMFO_classfr NA
## Random.myrandom_classfr NA
## Max.cor.Y.cv.0.rpart NA
## Max.cor.Y.cv.0.cp.0.rpart NA
## Max.cor.Y.rpart NA
## Max.cor.Y.glm 1.356624e-05
## Max.cor.Y.TmSrs.poly.glm 1.358718e-05
## Interact.High.cor.Y.glm 1.356459e-05
## Low.cor.X.glm 1.363348e-05
## All.X.glm 1.363286e-05
## All.X.bayesglm 1.363248e-05
## All.X.no.rnorm.rpart NA
print(myplot_radar(radar_inp_df=plt_models_df))
## Warning in RColorBrewer::brewer.pal(n, pal): n too large, allowed maximum for palette Set1 is 9
## Returning the palette you asked for with that many colors
## Warning: The shape palette can deal with a maximum of 6 discrete values
## because more than 6 becomes difficult to discriminate; you have
## 12. Consider specifying shapes manually. if you must have them.
## Warning in loop_apply(n, do.ply): Removed 4 rows containing missing values
## (geom_path).
## Warning in loop_apply(n, do.ply): Removed 83 rows containing missing values
## (geom_point).
## Warning in loop_apply(n, do.ply): Removed 9 rows containing missing values
## (geom_text).
## Warning in RColorBrewer::brewer.pal(n, pal): n too large, allowed maximum for palette Set1 is 9
## Returning the palette you asked for with that many colors
## Warning: The shape palette can deal with a maximum of 6 discrete values
## because more than 6 becomes difficult to discriminate; you have
## 12. Consider specifying shapes manually. if you must have them.
# print(myplot_radar(radar_inp_df=subset(plt_models_df,
# !(model_id %in% grep("random|MFO", plt_models_df$model_id, value=TRUE)))))
# Compute CI for <metric>SD
glb_models_df <- mutate(glb_models_df,
max.df = ifelse(max.nTuningRuns > 1, max.nTuningRuns - 1, NA),
min.sd2ci.scaler = ifelse(is.na(max.df), NA, qt(0.975, max.df)))
for (var in grep("SD", names(glb_models_df), value=TRUE)) {
# Does CI alredy exist ?
var_components <- unlist(strsplit(var, "SD"))
varActul <- paste0(var_components[1], var_components[2])
varUpper <- paste0(var_components[1], "Upper", var_components[2])
varLower <- paste0(var_components[1], "Lower", var_components[2])
if (varUpper %in% names(glb_models_df)) {
warning(varUpper, " already exists in glb_models_df")
# Assuming Lower also exists
next
}
print(sprintf("var:%s", var))
# CI is dependent on sample size in t distribution; df=n-1
glb_models_df[, varUpper] <- glb_models_df[, varActul] +
glb_models_df[, "min.sd2ci.scaler"] * glb_models_df[, var]
glb_models_df[, varLower] <- glb_models_df[, varActul] -
glb_models_df[, "min.sd2ci.scaler"] * glb_models_df[, var]
}
## Warning: max.AccuracyUpper.fit already exists in glb_models_df
## [1] "var:max.KappaSD.fit"
# Plot metrics with CI
plt_models_df <- glb_models_df[, "model_id", FALSE]
pltCI_models_df <- glb_models_df[, "model_id", FALSE]
for (var in grep("Upper", names(glb_models_df), value=TRUE)) {
var_components <- unlist(strsplit(var, "Upper"))
col_name <- unlist(paste(var_components, collapse=""))
plt_models_df[, col_name] <- glb_models_df[, col_name]
for (name in paste0(var_components[1], c("Upper", "Lower"), var_components[2]))
pltCI_models_df[, name] <- glb_models_df[, name]
}
build_statsCI_data <- function(plt_models_df) {
mltd_models_df <- melt(plt_models_df, id.vars="model_id")
mltd_models_df$data <- sapply(1:nrow(mltd_models_df),
function(row_ix) tail(unlist(strsplit(as.character(
mltd_models_df[row_ix, "variable"]), "[.]")), 1))
mltd_models_df$label <- sapply(1:nrow(mltd_models_df),
function(row_ix) head(unlist(strsplit(as.character(
mltd_models_df[row_ix, "variable"]),
paste0(".", mltd_models_df[row_ix, "data"]))), 1))
#print(mltd_models_df)
return(mltd_models_df)
}
mltd_models_df <- build_statsCI_data(plt_models_df)
mltdCI_models_df <- melt(pltCI_models_df, id.vars="model_id")
for (row_ix in 1:nrow(mltdCI_models_df)) {
for (type in c("Upper", "Lower")) {
if (length(var_components <- unlist(strsplit(
as.character(mltdCI_models_df[row_ix, "variable"]), type))) > 1) {
#print(sprintf("row_ix:%d; type:%s; ", row_ix, type))
mltdCI_models_df[row_ix, "label"] <- var_components[1]
mltdCI_models_df[row_ix, "data"] <-
unlist(strsplit(var_components[2], "[.]"))[2]
mltdCI_models_df[row_ix, "type"] <- type
break
}
}
}
#print(mltdCI_models_df)
# castCI_models_df <- dcast(mltdCI_models_df, value ~ type, fun.aggregate=sum)
# print(castCI_models_df)
wideCI_models_df <- reshape(subset(mltdCI_models_df, select=-variable),
timevar="type",
idvar=setdiff(names(mltdCI_models_df), c("type", "value", "variable")),
direction="wide")
#print(wideCI_models_df)
mrgdCI_models_df <- merge(wideCI_models_df, mltd_models_df, all.x=TRUE)
#print(mrgdCI_models_df)
# Merge stats back in if CIs don't exist
goback_vars <- c()
for (var in unique(mltd_models_df$label)) {
for (type in unique(mltd_models_df$data)) {
var_type <- paste0(var, ".", type)
# if this data is already present, next
if (var_type %in% unique(paste(mltd_models_df$label, mltd_models_df$data,
sep=".")))
next
#print(sprintf("var_type:%s", var_type))
goback_vars <- c(goback_vars, var_type)
}
}
if (length(goback_vars) > 0) {
mltd_goback_df <- build_statsCI_data(glb_models_df[, c("model_id", goback_vars)])
mltd_models_df <- rbind(mltd_models_df, mltd_goback_df)
}
mltd_models_df <- merge(mltd_models_df, glb_models_df[, c("model_id", "model_method")],
all.x=TRUE)
png(paste0(glb_out_pfx, "models_bar.png"), width=480*3, height=480*2)
print(gp <- myplot_bar(mltd_models_df, "model_id", "value", colorcol_name="model_method") +
geom_errorbar(data=mrgdCI_models_df,
mapping=aes(x=model_id, ymax=value.Upper, ymin=value.Lower), width=0.5) +
facet_grid(label ~ data, scales="free") +
theme(axis.text.x = element_text(angle = 90,vjust = 0.5)))
## Warning in loop_apply(n, do.ply): Removed 3 rows containing missing values
## (position_stack).
## Warning in loop_apply(n, do.ply): Stacking not well defined when ymin != 0
## Warning in loop_apply(n, do.ply): Removed 11 rows containing missing values
## (position_stack).
dev.off()
## quartz_off_screen
## 2
print(gp)
## Warning in loop_apply(n, do.ply): Removed 3 rows containing missing values
## (position_stack).
## Warning in loop_apply(n, do.ply): Stacking not well defined when ymin != 0
## Warning in loop_apply(n, do.ply): Removed 11 rows containing missing values
## (position_stack).
# used for console inspection
model_evl_terms <- c(NULL)
for (metric in glb_model_evl_criteria)
model_evl_terms <- c(model_evl_terms,
ifelse(length(grep("max", metric)) > 0, "-", "+"), metric)
if (glb_is_classification && glb_is_binomial)
model_evl_terms <- c(model_evl_terms, "-", "opt.prob.threshold.OOB")
model_sel_frmla <- as.formula(paste(c("~ ", model_evl_terms), collapse=" "))
dsp_models_cols <- c("model_id", glb_model_evl_criteria)
if (glb_is_classification && glb_is_binomial)
dsp_models_cols <- c(dsp_models_cols, "opt.prob.threshold.OOB")
print(dsp_models_df <- orderBy(model_sel_frmla, glb_models_df)[, dsp_models_cols])
## model_id max.Accuracy.OOB max.auc.OOB max.Kappa.OOB
## 1 MFO.myMFO_classfr 0.91892926 0.5000000 NA
## 3 Max.cor.Y.cv.0.rpart 0.91892926 0.5000000 NA
## 5 Max.cor.Y.rpart 0.91892926 0.5000000 NA
## 12 All.X.no.rnorm.rpart 0.91892926 0.5000000 NA
## 6 Max.cor.Y.glm 0.77118954 0.6120104 NA
## 7 Max.cor.Y.TmSrs.poly.glm 0.74901292 0.6132807 NA
## 8 Interact.High.cor.Y.glm 0.74772581 0.6115971 NA
## 9 Low.cor.X.glm 0.73970744 0.6215335 NA
## 10 All.X.glm 0.73962048 0.6216375 NA
## 11 All.X.bayesglm 0.73934218 0.6216391 NA
## 4 Max.cor.Y.cv.0.cp.0.rpart 0.72130520 0.5969728 NA
## 2 Random.myrandom_classfr 0.08107074 0.4980179 0
## min.aic.fit opt.prob.threshold.OOB
## 1 NA 0.5
## 3 NA 0.5
## 5 NA 0.5
## 12 NA 0.5
## 6 73712.38 0.1
## 7 73598.81 0.1
## 8 73721.34 0.1
## 9 73348.87 0.1
## 10 73352.18 0.1
## 11 73354.22 0.1
## 4 NA 0.1
## 2 NA 0.0
print(myplot_radar(radar_inp_df=dsp_models_df))
## Warning in RColorBrewer::brewer.pal(n, pal): n too large, allowed maximum for palette Set1 is 9
## Returning the palette you asked for with that many colors
## Warning: The shape palette can deal with a maximum of 6 discrete values
## because more than 6 becomes difficult to discriminate; you have
## 12. Consider specifying shapes manually. if you must have them.
## Warning in loop_apply(n, do.ply): Removed 32 rows containing missing values
## (geom_point).
## Warning in loop_apply(n, do.ply): Removed 6 rows containing missing values
## (geom_text).
## Warning in RColorBrewer::brewer.pal(n, pal): n too large, allowed maximum for palette Set1 is 9
## Returning the palette you asked for with that many colors
## Warning: The shape palette can deal with a maximum of 6 discrete values
## because more than 6 becomes difficult to discriminate; you have
## 12. Consider specifying shapes manually. if you must have them.
print("Metrics used for model selection:"); print(model_sel_frmla)
## [1] "Metrics used for model selection:"
## ~-max.Accuracy.OOB - max.auc.OOB - max.Kappa.OOB + min.aic.fit -
## opt.prob.threshold.OOB
print(sprintf("Best model id: %s", dsp_models_df[1, "model_id"]))
## [1] "Best model id: MFO.myMFO_classfr"
if (is.null(glb_sel_mdl_id)) {
glb_sel_mdl_id <- dsp_models_df[1, "model_id"]
if (glb_sel_mdl_id == "Interact.High.cor.Y.glm") {
warning("glb_sel_mdl_id: Interact.High.cor.Y.glm; myextract_mdl_feats does not currently support interaction terms")
glb_sel_mdl_id <- dsp_models_df[2, "model_id"]
}
} else
print(sprintf("User specified selection: %s", glb_sel_mdl_id))
myprint_mdl(glb_sel_mdl <- glb_models_lst[[glb_sel_mdl_id]])
## Length Class Mode
## unique.vals 2 factor numeric
## unique.prob 2 -none- numeric
## MFO.val 1 -none- character
## x.names 1 -none- character
## xNames 1 -none- character
## problemType 1 -none- character
## tuneValue 1 data.frame list
## obsLevels 2 -none- character
## [1] TRUE
# From here to save(), this should all be in one function
# these are executed in the same seq twice more:
# fit.data.training & predict.data.new chunks
glb_get_predictions <- function(df, mdl_id, rsp_var_out, prob_threshold_def=NULL) {
mdl <- glb_models_lst[[mdl_id]]
rsp_var_out <- paste0(rsp_var_out, mdl_id)
if (glb_is_regression) {
df[, rsp_var_out] <- predict(mdl, newdata=df, type="raw")
print(myplot_scatter(df, glb_rsp_var, rsp_var_out, smooth=TRUE))
df[, paste0(rsp_var_out, ".err")] <-
abs(df[, rsp_var_out] - df[, glb_rsp_var])
print(head(orderBy(reformulate(c("-", paste0(rsp_var_out, ".err"))),
df)))
}
if (glb_is_classification && glb_is_binomial) {
prob_threshold <- glb_models_df[glb_models_df$model_id == mdl_id,
"opt.prob.threshold.OOB"]
if (is.null(prob_threshold) || is.na(prob_threshold)) {
warning("Using default probability threshold: ", prob_threshold_def)
if (is.null(prob_threshold <- prob_threshold_def))
stop("Default probability threshold is NULL")
}
df[, paste0(rsp_var_out, ".prob")] <-
predict(mdl, newdata=df, type="prob")[, 2]
df[, rsp_var_out] <-
factor(levels(df[, glb_rsp_var])[
(df[, paste0(rsp_var_out, ".prob")] >=
prob_threshold) * 1 + 1], levels(df[, glb_rsp_var]))
# prediction stats already reported by myfit_mdl ???
}
if (glb_is_classification && !glb_is_binomial) {
df[, rsp_var_out] <- predict(mdl, newdata=df, type="raw")
}
return(df)
}
glb_OOBobs_df <- glb_get_predictions(df=glb_OOBobs_df, mdl_id=glb_sel_mdl_id,
rsp_var_out=glb_rsp_var_out)
## [1] "in MFO.Classifier$prob"
## F T
## 1 0.9189328 0.08106718
## 2 0.9189328 0.08106718
## 3 0.9189328 0.08106718
## 4 0.9189328 0.08106718
## 5 0.9189328 0.08106718
## 6 0.9189328 0.08106718
predct_accurate_var_name <- paste0(glb_rsp_var_out, glb_sel_mdl_id, ".accurate")
glb_OOBobs_df[, predct_accurate_var_name] <-
(glb_OOBobs_df[, glb_rsp_var] ==
glb_OOBobs_df[, paste0(glb_rsp_var_out, glb_sel_mdl_id)])
#stop(here"); sav_models_lst <- glb_models_lst; sav_models_df <- glb_models_df
glb_featsimp_df <-
myget_feats_importance(mdl=glb_sel_mdl, featsimp_df=NULL)
## [1] "in MFO.Classifier$varImp"
## Overall
## .rnorm 0
glb_featsimp_df[, paste0(glb_sel_mdl_id, ".importance")] <- glb_featsimp_df$importance
print(glb_featsimp_df)
## importance MFO.myMFO_classfr.importance
## .rnorm NaN NaN
# Used again in fit.data.training & predict.data.new chunks
glb_analytics_diag_plots <- function(obs_df, mdl_id, prob_threshold=NULL) {
featsimp_df <- glb_featsimp_df
featsimp_df$feat <- gsub("`(.*?)`", "\\1", row.names(featsimp_df))
featsimp_df$feat.interact <- gsub("(.*?):(.*)", "\\2", featsimp_df$feat)
featsimp_df$feat <- gsub("(.*?):(.*)", "\\1", featsimp_df$feat)
featsimp_df$feat.interact <- ifelse(featsimp_df$feat.interact == featsimp_df$feat,
NA, featsimp_df$feat.interact)
featsimp_df$feat <- gsub("(.*?)\\.fctr(.*)", "\\1\\.fctr", featsimp_df$feat)
featsimp_df$feat.interact <- gsub("(.*?)\\.fctr(.*)", "\\1\\.fctr", featsimp_df$feat.interact)
featsimp_df <- orderBy(~ -importance.max, summaryBy(importance ~ feat + feat.interact,
data=featsimp_df, FUN=max))
#rex_str=":(.*)"; txt_vctr=tail(featsimp_df$feat); ret_lst <- regexec(rex_str, txt_vctr); ret_lst <- regmatches(txt_vctr, ret_lst); ret_vctr <- sapply(1:length(ret_lst), function(pos_ix) ifelse(length(ret_lst[[pos_ix]]) > 0, ret_lst[[pos_ix]], "")); print(ret_vctr <- ret_vctr[ret_vctr != ""])
if (nrow(featsimp_df) > 5) {
warning("Limiting important feature scatter plots to 5 out of ", nrow(featsimp_df))
featsimp_df <- head(featsimp_df, 5)
}
# if (!all(is.na(featsimp_df$feat.interact)))
# stop("not implemented yet")
rsp_var_out <- paste0(glb_rsp_var_out, mdl_id)
for (var in featsimp_df$feat) {
plot_df <- melt(obs_df, id.vars=var,
measure.vars=c(glb_rsp_var, rsp_var_out))
# if (var == "<feat_name>") print(myplot_scatter(plot_df, var, "value",
# facet_colcol_name="variable") +
# geom_vline(xintercept=<divider_val>, linetype="dotted")) else
print(myplot_scatter(plot_df, var, "value", colorcol_name="variable",
facet_colcol_name="variable", jitter=TRUE) +
guides(color=FALSE))
}
if (glb_is_regression) {
if (nrow(featsimp_df) == 0)
warning("No important features in glb_fin_mdl") else
print(myplot_prediction_regression(df=obs_df,
feat_x=ifelse(nrow(featsimp_df) > 1, featsimp_df$feat[2],
".rownames"),
feat_y=featsimp_df$feat[1],
rsp_var=glb_rsp_var, rsp_var_out=rsp_var_out,
id_vars=glb_id_vars)
# + facet_wrap(reformulate(featsimp_df$feat[2])) # if [1 or 2] is a factor
# + geom_point(aes_string(color="<col_name>.fctr")) # to color the plot
)
}
if (glb_is_classification) {
if (nrow(featsimp_df) == 0)
warning("No features in selected model are statistically important")
else print(myplot_prediction_classification(df=obs_df,
feat_x=ifelse(nrow(featsimp_df) > 1, featsimp_df$feat[2],
".rownames"),
feat_y=featsimp_df$feat[1],
rsp_var=glb_rsp_var,
rsp_var_out=rsp_var_out,
id_vars=glb_id_vars,
prob_threshold=prob_threshold)
# + geom_hline(yintercept=<divider_val>, linetype = "dotted")
)
}
}
if (glb_is_classification && glb_is_binomial)
glb_analytics_diag_plots(obs_df=glb_OOBobs_df, mdl_id=glb_sel_mdl_id,
prob_threshold=glb_models_df[glb_models_df$model_id == glb_sel_mdl_id,
"opt.prob.threshold.OOB"]) else
glb_analytics_diag_plots(obs_df=glb_OOBobs_df, mdl_id=glb_sel_mdl_id)
## [1] "Min/Max Boundaries: "
## ID Arrest.fctr Arrest.fctr.predict.MFO.myMFO_classfr.prob
## 191637 1310068 F 0.08106718
## 90397 4997601 F 0.08106718
## 24032 8058937 F 0.08106718
## 2 8951141 F 0.08106718
## Arrest.fctr.predict.MFO.myMFO_classfr
## 191637 F
## 90397 F
## 24032 F
## 2 F
## Arrest.fctr.predict.MFO.myMFO_classfr.accurate
## 191637 TRUE
## 90397 TRUE
## 24032 TRUE
## 2 TRUE
## Arrest.fctr.predict.MFO.myMFO_classfr.error .label
## 191637 0 1310068
## 90397 0 4997601
## 24032 0 8058937
## 2 0 8951141
## [1] "Inaccurate: "
## ID Arrest.fctr Arrest.fctr.predict.MFO.myMFO_classfr.prob
## 191629 1310725 T 0.08106718
## 191583 1311458 T 0.08106718
## 191608 1312461 T 0.08106718
## 191530 1313985 T 0.08106718
## 191475 1316424 T 0.08106718
## 191512 1316427 T 0.08106718
## Arrest.fctr.predict.MFO.myMFO_classfr
## 191629 F
## 191583 F
## 191608 F
## 191530 F
## 191475 F
## 191512 F
## Arrest.fctr.predict.MFO.myMFO_classfr.accurate
## 191629 FALSE
## 191583 FALSE
## 191608 FALSE
## 191530 FALSE
## 191475 FALSE
## 191512 FALSE
## Arrest.fctr.predict.MFO.myMFO_classfr.error
## 191629 -0.4189328
## 191583 -0.4189328
## 191608 -0.4189328
## 191530 -0.4189328
## 191475 -0.4189328
## 191512 -0.4189328
## ID Arrest.fctr Arrest.fctr.predict.MFO.myMFO_classfr.prob
## 168512 1991532 T 0.08106718
## 166601 2062326 T 0.08106718
## 135969 3102461 T 0.08106718
## 117486 3783858 T 0.08106718
## 61729 6477985 T 0.08106718
## 55999 6758406 T 0.08106718
## Arrest.fctr.predict.MFO.myMFO_classfr
## 168512 F
## 166601 F
## 135969 F
## 117486 F
## 61729 F
## 55999 F
## Arrest.fctr.predict.MFO.myMFO_classfr.accurate
## 168512 FALSE
## 166601 FALSE
## 135969 FALSE
## 117486 FALSE
## 61729 FALSE
## 55999 FALSE
## Arrest.fctr.predict.MFO.myMFO_classfr.error
## 168512 -0.4189328
## 166601 -0.4189328
## 135969 -0.4189328
## 117486 -0.4189328
## 61729 -0.4189328
## 55999 -0.4189328
## ID Arrest.fctr Arrest.fctr.predict.MFO.myMFO_classfr.prob
## 714 8931395 T 0.08106718
## 654 8932085 T 0.08106718
## 636 8932629 T 0.08106718
## 264 8944096 T 0.08106718
## 98 8948698 T 0.08106718
## 71 8949258 T 0.08106718
## Arrest.fctr.predict.MFO.myMFO_classfr
## 714 F
## 654 F
## 636 F
## 264 F
## 98 F
## 71 F
## Arrest.fctr.predict.MFO.myMFO_classfr.accurate
## 714 FALSE
## 654 FALSE
## 636 FALSE
## 264 FALSE
## 98 FALSE
## 71 FALSE
## Arrest.fctr.predict.MFO.myMFO_classfr.error
## 714 -0.4189328
## 654 -0.4189328
## 636 -0.4189328
## 264 -0.4189328
## 98 -0.4189328
## 71 -0.4189328
# gather predictions from models better than MFO.*
#mdl_id <- "Conditional.X.rf"
#mdl_id <- "Conditional.X.cp.0.rpart"
#mdl_id <- "Conditional.X.rpart"
# glb_OOBobs_df <- glb_get_predictions(df=glb_OOBobs_df, mdl_id,
# glb_rsp_var_out)
# print(t(confusionMatrix(glb_OOBobs_df[, paste0(glb_rsp_var_out, mdl_id)],
# glb_OOBobs_df[, glb_rsp_var])$table))
FN_OOB_ids <- c(4721, 4020, 693, 92)
print(glb_OOBobs_df[glb_OOBobs_df$UniqueID %in% FN_OOB_ids,
grep(glb_rsp_var, names(glb_OOBobs_df), value=TRUE)])
## [1] Arrest.fctr
## [2] Arrest.fctr.predict.MFO.myMFO_classfr.prob
## [3] Arrest.fctr.predict.MFO.myMFO_classfr
## [4] Arrest.fctr.predict.MFO.myMFO_classfr.accurate
## <0 rows> (or 0-length row.names)
print(glb_OOBobs_df[glb_OOBobs_df$UniqueID %in% FN_OOB_ids,
glb_feats_df$id[1:5]])
## [1] Arrest LocationDescription.my.fctr
## [3] Date.minute.fctr Date.last1.log
## [5] Domestic
## <0 rows> (or 0-length row.names)
print(glb_OOBobs_df[glb_OOBobs_df$UniqueID %in% FN_OOB_ids,
glb_txt_vars])
## data frame with 0 columns and 0 rows
write.csv(glb_OOBobs_df[, c(glb_id_vars,
grep(glb_rsp_var, names(glb_OOBobs_df), fixed=TRUE, value=TRUE))],
paste0(gsub(".", "_", paste0(glb_out_pfx, glb_sel_mdl_id), fixed=TRUE),
"_OOBobs.csv"), row.names=FALSE)
# print(glb_allobs_df[glb_allobs_df$UniqueID %in% FN_OOB_ids,
# glb_txt_vars])
# dsp_tbl(Headline.contains="[Ee]bola")
# sum(sel_obs(Headline.contains="[Ee]bola"))
# ftable(xtabs(Popular ~ NewsDesk.fctr, data=glb_allobs_df[sel_obs(Headline.contains="[Ee]bola") ,]))
# xtabs(NewsDesk ~ Popular, #Popular ~ NewsDesk.fctr,
# data=glb_allobs_df[sel_obs(Headline.contains="[Ee]bola") ,],
# exclude=NULL)
# print(mycreate_xtab_df(df=glb_allobs_df[sel_obs(Headline.contains="[Ee]bola") ,], c("Popular", "NewsDesk", "SectionName", "SubsectionName")))
# print(mycreate_tbl_df(df=glb_allobs_df[sel_obs(Headline.contains="[Ee]bola") ,], c("Popular", "NewsDesk", "SectionName", "SubsectionName")))
# print(mycreate_tbl_df(df=glb_allobs_df[sel_obs(Headline.contains="[Ee]bola") ,], c("Popular")))
# print(mycreate_tbl_df(df=glb_allobs_df[sel_obs(Headline.contains="[Ee]bola") ,],
# tbl_col_names=c("Popular", "NewsDesk")))
glb_chunks_df <- myadd_chunk(glb_chunks_df, "fit.models", major.inc=FALSE)
## label step_major step_minor bgn end elapsed
## 12 fit.models 7 2 1466.721 1796.105 329.384
## 13 fit.models 7 3 1796.106 NA NA
print(setdiff(names(glb_trnobs_df), names(glb_allobs_df)))
## [1] "Date.second.fctr"
print(setdiff(names(glb_fitobs_df), names(glb_allobs_df)))
## [1] "Date.second.fctr"
print(setdiff(names(glb_OOBobs_df), names(glb_allobs_df)))
## [1] "Date.second.fctr"
## [2] "Arrest.fctr.predict.MFO.myMFO_classfr.prob"
## [3] "Arrest.fctr.predict.MFO.myMFO_classfr"
## [4] "Arrest.fctr.predict.MFO.myMFO_classfr.accurate"
for (col in setdiff(names(glb_OOBobs_df), names(glb_allobs_df)))
# Merge or cbind ?
glb_allobs_df[glb_allobs_df$.lcn == "OOB", col] <- glb_OOBobs_df[, col]
print(setdiff(names(glb_newobs_df), names(glb_allobs_df)))
## character(0)
if (glb_save_envir)
save(glb_feats_df,
glb_allobs_df, #glb_trnobs_df, glb_fitobs_df, glb_OOBobs_df, glb_newobs_df,
glb_models_df, dsp_models_df, glb_models_lst, glb_sel_mdl, glb_sel_mdl_id,
glb_model_type,
file=paste0(glb_out_pfx, "selmdl_dsk.RData"))
#load(paste0(glb_out_pfx, "selmdl_dsk.RData"))
rm(ret_lst)
## Warning in rm(ret_lst): object 'ret_lst' not found
replay.petrisim(pn=glb_analytics_pn,
replay.trans=(glb_analytics_avl_objs <- c(glb_analytics_avl_objs,
"model.selected")), flip_coord=TRUE)
## time trans "bgn " "fit.data.training.all " "predict.data.new " "end "
## 0.0000 multiple enabled transitions: data.training.all data.new model.selected firing: data.training.all
## 1.0000 1 2 1 0 0
## 1.0000 multiple enabled transitions: data.training.all data.new model.selected model.final data.training.all.prediction firing: data.new
## 2.0000 2 1 1 1 0
## 2.0000 multiple enabled transitions: data.training.all data.new model.selected model.final data.training.all.prediction data.new.prediction firing: model.selected
## 3.0000 3 0 2 1 0
glb_chunks_df <- myadd_chunk(glb_chunks_df, "fit.data.training", major.inc=TRUE)
## label step_major step_minor bgn end elapsed
## 13 fit.models 7 3 1796.106 2021 224.894
## 14 fit.data.training 8 0 2021.001 NA NA
8.0: fit data training#load(paste0(glb_inp_pfx, "dsk.RData"))
# To create specific models
# glb_fin_mdl_id <- NULL; glb_fin_mdl <- NULL;
# glb_sel_mdl_id <- "Conditional.X.cp.0.rpart";
# glb_sel_mdl <- glb_models_lst[[glb_sel_mdl_id]]; print(glb_sel_mdl)
if (!is.null(glb_fin_mdl_id) && (glb_fin_mdl_id %in% names(glb_models_lst))) {
warning("Final model same as user selected model")
glb_fin_mdl <- glb_sel_mdl
} else {
# print(mdl_feats_df <- myextract_mdl_feats(sel_mdl=glb_sel_mdl,
# entity_df=glb_fitobs_df))
if ((model_method <- glb_sel_mdl$method) == "custom")
# get actual method from the model_id
model_method <- tail(unlist(strsplit(glb_sel_mdl_id, "[.]")), 1)
tune_finmdl_df <- NULL
if (nrow(glb_sel_mdl$bestTune) > 0) {
for (param in names(glb_sel_mdl$bestTune)) {
#print(sprintf("param: %s", param))
if (glb_sel_mdl$bestTune[1, param] != "none")
tune_finmdl_df <- rbind(tune_finmdl_df,
data.frame(parameter=param,
min=glb_sel_mdl$bestTune[1, param],
max=glb_sel_mdl$bestTune[1, param],
by=1)) # by val does not matter
}
}
# Sync with parameters in mydsutils.R
require(gdata)
ret_lst <- myfit_mdl(model_id="Final", model_method=model_method,
indep_vars_vctr=trim(unlist(strsplit(glb_models_df[glb_models_df$model_id == glb_sel_mdl_id,
"feats"], "[,]"))),
model_type=glb_model_type,
rsp_var=glb_rsp_var, rsp_var_out=glb_rsp_var_out,
fit_df=glb_trnobs_df, OOB_df=NULL,
n_cv_folds=glb_n_cv_folds, tune_models_df=tune_finmdl_df,
# Automate from here
# Issues if glb_sel_mdl$method == "rf" b/c trainControl is "oob"; not "cv"
model_loss_mtrx=glb_model_metric_terms,
model_summaryFunction=glb_sel_mdl$control$summaryFunction,
model_metric=glb_sel_mdl$metric,
model_metric_maximize=glb_sel_mdl$maximize)
glb_fin_mdl <- glb_models_lst[[length(glb_models_lst)]]
glb_fin_mdl_id <- glb_models_df[length(glb_models_lst), "model_id"]
}
## Loading required package: gdata
## gdata: read.xls support for 'XLS' (Excel 97-2004) files ENABLED.
##
## gdata: read.xls support for 'XLSX' (Excel 2007+) files ENABLED.
##
## Attaching package: 'gdata'
##
## The following objects are masked from 'package:dplyr':
##
## combine, first, last
##
## The following object is masked from 'package:stats':
##
## nobs
##
## The following object is masked from 'package:utils':
##
## object.size
## [1] "fitting model: Final.myMFO_classfr"
## [1] " indep_vars: .rnorm"
## Aggregating results
## Fitting final model on full training set
## [1] "in MFO.Classifier$fit"
## [1] "unique.vals:"
## [1] F T
## Levels: F T
## [1] "unique.prob:"
## y
## F T
## 0.91893282 0.08106718
## [1] "MFO.val:"
## [1] "F"
## Length Class Mode
## unique.vals 2 factor numeric
## unique.prob 2 -none- numeric
## MFO.val 1 -none- character
## x.names 1 -none- character
## xNames 1 -none- character
## problemType 1 -none- character
## tuneValue 1 data.frame list
## obsLevels 2 -none- character
## [1] " calling mypredict_mdl for fit:"
## [1] "in MFO.Classifier$prob"
## F T
## 1 0.9189328 0.08106718
## 2 0.9189328 0.08106718
## 3 0.9189328 0.08106718
## 4 0.9189328 0.08106718
## 5 0.9189328 0.08106718
## 6 0.9189328 0.08106718
## [1] "Classifier Probability Threshold: 0.5000 to maximize f.score.fit"
## Arrest.fctr Arrest.fctr.predict.Final.myMFO_classfr.F
## 1 F 123273
## 2 T 10875
## Warning in ni[1:m] * nj[1:m]: NAs produced by integer overflow
## Prediction
## Reference F T
## F 123273 0
## T 10875 0
## Accuracy Kappa AccuracyLower AccuracyUpper AccuracyNull
## 0.9189328 NA 0.9174595 0.9203880 0.9189328
## AccuracyPValue McnemarPValue
## 0.5025526 0.0000000
## Warning in ni[1:m] * nj[1:m]: NAs produced by integer overflow
## Warning in mypredict_mdl(mdl, df = fit_df, rsp_var, rsp_var_out,
## model_id_method, : Expecting 1 metric: Accuracy; recd: Accuracy, Kappa;
## retaining Accuracy only
## model_id model_method feats max.nTuningRuns
## 1 Final.myMFO_classfr myMFO_classfr .rnorm 1
## min.elapsedtime.everything min.elapsedtime.final max.auc.fit
## 1 6.784 0.028 0.5
## opt.prob.threshold.fit max.f.score.fit max.Accuracy.fit
## 1 0.5 0 0.9189328
## max.AccuracyLower.fit max.AccuracyUpper.fit max.Kappa.fit
## 1 0.9174595 0.920388 0
## max.AccuracySD.fit max.KappaSD.fit
## 1 0 0
rm(ret_lst)
glb_chunks_df <- myadd_chunk(glb_chunks_df, "fit.data.training", major.inc=FALSE)
## label step_major step_minor bgn end elapsed
## 14 fit.data.training 8 0 2021.001 2032.879 11.879
## 15 fit.data.training 8 1 2032.880 NA NA
glb_trnobs_df <- glb_get_predictions(df=glb_trnobs_df, mdl_id=glb_fin_mdl_id,
rsp_var_out=glb_rsp_var_out,
prob_threshold_def=ifelse(glb_is_classification && glb_is_binomial,
glb_models_df[glb_models_df$model_id == glb_sel_mdl_id, "opt.prob.threshold.OOB"], NULL))
## Warning in glb_get_predictions(df = glb_trnobs_df, mdl_id =
## glb_fin_mdl_id, : Using default probability threshold: 0.5
## [1] "in MFO.Classifier$prob"
## F T
## 1 0.9189328 0.08106718
## 2 0.9189328 0.08106718
## 3 0.9189328 0.08106718
## 4 0.9189328 0.08106718
## 5 0.9189328 0.08106718
## 6 0.9189328 0.08106718
sav_featsimp_df <- glb_featsimp_df
#glb_feats_df <- sav_feats_df
# glb_feats_df <- mymerge_feats_importance(feats_df=glb_feats_df, sel_mdl=glb_fin_mdl,
# entity_df=glb_trnobs_df)
glb_featsimp_df <- myget_feats_importance(mdl=glb_fin_mdl, featsimp_df=glb_featsimp_df)
## [1] "in MFO.Classifier$varImp"
## Overall
## .rnorm 0
glb_featsimp_df[, paste0(glb_fin_mdl_id, ".importance")] <- glb_featsimp_df$importance
print(glb_featsimp_df)
## MFO.myMFO_classfr.importance importance
## .rnorm NaN NaN
## Final.myMFO_classfr.importance
## .rnorm NaN
if (glb_is_classification && glb_is_binomial)
glb_analytics_diag_plots(obs_df=glb_trnobs_df, mdl_id=glb_fin_mdl_id,
prob_threshold=glb_models_df[glb_models_df$model_id == glb_sel_mdl_id,
"opt.prob.threshold.OOB"]) else
glb_analytics_diag_plots(obs_df=glb_trnobs_df, mdl_id=glb_fin_mdl_id)
## [1] "Min/Max Boundaries: "
## ID Arrest.fctr Arrest.fctr.predict.Final.myMFO_classfr.prob
## 191641 1310463 F 0.08106718
## 133768 3175036 F 0.08106718
## 1564 8900470 F 0.08106718
## 1 8951354 F 0.08106718
## Arrest.fctr.predict.Final.myMFO_classfr
## 191641 F
## 133768 F
## 1564 F
## 1 F
## Arrest.fctr.predict.Final.myMFO_classfr.accurate
## 191641 TRUE
## 133768 TRUE
## 1564 TRUE
## 1 TRUE
## Arrest.fctr.predict.Final.myMFO_classfr.error .label
## 191641 0 1310463
## 133768 0 3175036
## 1564 0 8900470
## 1 0 8951354
## [1] "Inaccurate: "
## ID Arrest.fctr Arrest.fctr.predict.Final.myMFO_classfr.prob
## 191631 1310022 T 0.08106718
## 191602 1311051 T 0.08106718
## 191601 1311345 T 0.08106718
## 191594 1312312 T 0.08106718
## 191558 1312722 T 0.08106718
## 191564 1312881 T 0.08106718
## Arrest.fctr.predict.Final.myMFO_classfr
## 191631 F
## 191602 F
## 191601 F
## 191594 F
## 191558 F
## 191564 F
## Arrest.fctr.predict.Final.myMFO_classfr.accurate
## 191631 FALSE
## 191602 FALSE
## 191601 FALSE
## 191594 FALSE
## 191558 FALSE
## 191564 FALSE
## Arrest.fctr.predict.Final.myMFO_classfr.error
## 191631 -0.4189328
## 191602 -0.4189328
## 191601 -0.4189328
## 191594 -0.4189328
## 191558 -0.4189328
## 191564 -0.4189328
## ID Arrest.fctr Arrest.fctr.predict.Final.myMFO_classfr.prob
## 139319 2989315 T 0.08106718
## 137912 3039759 T 0.08106718
## 87962 5125811 T 0.08106718
## 67817 6208055 T 0.08106718
## 60694 6528058 T 0.08106718
## 42274 7426263 T 0.08106718
## Arrest.fctr.predict.Final.myMFO_classfr
## 139319 F
## 137912 F
## 87962 F
## 67817 F
## 60694 F
## 42274 F
## Arrest.fctr.predict.Final.myMFO_classfr.accurate
## 139319 FALSE
## 137912 FALSE
## 87962 FALSE
## 67817 FALSE
## 60694 FALSE
## 42274 FALSE
## Arrest.fctr.predict.Final.myMFO_classfr.error
## 139319 -0.4189328
## 137912 -0.4189328
## 87962 -0.4189328
## 67817 -0.4189328
## 60694 -0.4189328
## 42274 -0.4189328
## ID Arrest.fctr Arrest.fctr.predict.Final.myMFO_classfr.prob
## 464 8951152 T 0.08106718
## 9 8951802 T 0.08106718
## 2001 8969959 T 0.08106718
## 870 8980510 T 0.08106718
## 12152 9008354 T 0.08106718
## 4738 9074795 T 0.08106718
## Arrest.fctr.predict.Final.myMFO_classfr
## 464 F
## 9 F
## 2001 F
## 870 F
## 12152 F
## 4738 F
## Arrest.fctr.predict.Final.myMFO_classfr.accurate
## 464 FALSE
## 9 FALSE
## 2001 FALSE
## 870 FALSE
## 12152 FALSE
## 4738 FALSE
## Arrest.fctr.predict.Final.myMFO_classfr.error
## 464 -0.4189328
## 9 -0.4189328
## 2001 -0.4189328
## 870 -0.4189328
## 12152 -0.4189328
## 4738 -0.4189328
dsp_feats_vctr <- c(NULL)
for(var in grep(".importance", names(glb_feats_df), fixed=TRUE, value=TRUE))
dsp_feats_vctr <- union(dsp_feats_vctr,
glb_feats_df[!is.na(glb_feats_df[, var]), "id"])
print(glb_trnobs_df[glb_trnobs_df$UniqueID %in% FN_OOB_ids,
grep(glb_rsp_var, names(glb_trnobs_df), value=TRUE)])
## [1] Arrest.fctr
## [2] Arrest.fctr.predict.Final.myMFO_classfr.prob
## [3] Arrest.fctr.predict.Final.myMFO_classfr
## <0 rows> (or 0-length row.names)
print(setdiff(names(glb_trnobs_df), names(glb_allobs_df)))
## [1] "Arrest.fctr.predict.Final.myMFO_classfr.prob"
## [2] "Arrest.fctr.predict.Final.myMFO_classfr"
for (col in setdiff(names(glb_trnobs_df), names(glb_allobs_df)))
# Merge or cbind ?
glb_allobs_df[glb_allobs_df$.src == "Train", col] <- glb_trnobs_df[, col]
print(setdiff(names(glb_fitobs_df), names(glb_allobs_df)))
## character(0)
print(setdiff(names(glb_OOBobs_df), names(glb_allobs_df)))
## character(0)
for (col in setdiff(names(glb_OOBobs_df), names(glb_allobs_df)))
# Merge or cbind ?
glb_allobs_df[glb_allobs_df$.lcn == "OOB", col] <- glb_OOBobs_df[, col]
print(setdiff(names(glb_newobs_df), names(glb_allobs_df)))
## character(0)
if (glb_save_envir)
save(glb_feats_df, glb_allobs_df,
#glb_trnobs_df, glb_fitobs_df, glb_OOBobs_df, glb_newobs_df,
glb_models_df, dsp_models_df, glb_models_lst, glb_model_type,
glb_sel_mdl, glb_sel_mdl_id,
glb_fin_mdl, glb_fin_mdl_id,
file=paste0(glb_out_pfx, "dsk.RData"))
replay.petrisim(pn=glb_analytics_pn,
replay.trans=(glb_analytics_avl_objs <- c(glb_analytics_avl_objs,
"data.training.all.prediction","model.final")), flip_coord=TRUE)
## time trans "bgn " "fit.data.training.all " "predict.data.new " "end "
## 0.0000 multiple enabled transitions: data.training.all data.new model.selected firing: data.training.all
## 1.0000 1 2 1 0 0
## 1.0000 multiple enabled transitions: data.training.all data.new model.selected model.final data.training.all.prediction firing: data.new
## 2.0000 2 1 1 1 0
## 2.0000 multiple enabled transitions: data.training.all data.new model.selected model.final data.training.all.prediction data.new.prediction firing: model.selected
## 3.0000 3 0 2 1 0
## 3.0000 multiple enabled transitions: model.final data.training.all.prediction data.new.prediction firing: data.training.all.prediction
## 4.0000 5 0 1 1 1
## 4.0000 multiple enabled transitions: model.final data.training.all.prediction data.new.prediction firing: model.final
## 5.0000 4 0 0 2 1
glb_chunks_df <- myadd_chunk(glb_chunks_df, "predict.data.new", major.inc=TRUE)
## label step_major step_minor bgn end elapsed
## 15 fit.data.training 8 1 2032.880 2683.412 650.532
## 16 predict.data.new 9 0 2683.412 NA NA
9.0: predict data new# Compute final model predictions
glb_newobs_df <- glb_get_predictions(glb_newobs_df, mdl_id=glb_fin_mdl_id,
rsp_var_out=glb_rsp_var_out,
prob_threshold_def=ifelse(glb_is_classification && glb_is_binomial,
glb_models_df[glb_models_df$model_id == glb_sel_mdl_id,
"opt.prob.threshold.OOB"], NULL))
## Warning in glb_get_predictions(glb_newobs_df, mdl_id = glb_fin_mdl_id,
## rsp_var_out = glb_rsp_var_out, : Using default probability threshold: 0.5
## [1] "in MFO.Classifier$prob"
## F T
## 1 0.9189328 0.08106718
## 2 0.9189328 0.08106718
## 3 0.9189328 0.08106718
## 4 0.9189328 0.08106718
## 5 0.9189328 0.08106718
## 6 0.9189328 0.08106718
if (glb_is_classification && glb_is_binomial)
glb_analytics_diag_plots(obs_df=glb_newobs_df, mdl_id=glb_fin_mdl_id,
prob_threshold=glb_models_df[glb_models_df$model_id == glb_sel_mdl_id,
"opt.prob.threshold.OOB"]) else
glb_analytics_diag_plots(obs_df=glb_newobs_df, mdl_id=glb_fin_mdl_id)
## [1] "Min/Max Boundaries: "
## ID Arrest.fctr Arrest.fctr.predict.Final.myMFO_classfr.prob
## 191637 1310068 F 0.08106718
## 90397 4997601 F 0.08106718
## 24032 8058937 F 0.08106718
## 2 8951141 F 0.08106718
## Arrest.fctr.predict.Final.myMFO_classfr
## 191637 F
## 90397 F
## 24032 F
## 2 F
## Arrest.fctr.predict.Final.myMFO_classfr.accurate
## 191637 TRUE
## 90397 TRUE
## 24032 TRUE
## 2 TRUE
## Arrest.fctr.predict.Final.myMFO_classfr.error .label
## 191637 0 1310068
## 90397 0 4997601
## 24032 0 8058937
## 2 0 8951141
## [1] "Inaccurate: "
## ID Arrest.fctr Arrest.fctr.predict.Final.myMFO_classfr.prob
## 191629 1310725 T 0.08106718
## 191583 1311458 T 0.08106718
## 191608 1312461 T 0.08106718
## 191530 1313985 T 0.08106718
## 191475 1316424 T 0.08106718
## 191512 1316427 T 0.08106718
## Arrest.fctr.predict.Final.myMFO_classfr
## 191629 F
## 191583 F
## 191608 F
## 191530 F
## 191475 F
## 191512 F
## Arrest.fctr.predict.Final.myMFO_classfr.accurate
## 191629 FALSE
## 191583 FALSE
## 191608 FALSE
## 191530 FALSE
## 191475 FALSE
## 191512 FALSE
## Arrest.fctr.predict.Final.myMFO_classfr.error
## 191629 -0.4189328
## 191583 -0.4189328
## 191608 -0.4189328
## 191530 -0.4189328
## 191475 -0.4189328
## 191512 -0.4189328
## ID Arrest.fctr Arrest.fctr.predict.Final.myMFO_classfr.prob
## 156512 2385618 T 0.08106718
## 155558 2423149 T 0.08106718
## 111069 4107032 T 0.08106718
## 78857 5640626 T 0.08106718
## 55651 6769084 T 0.08106718
## 45211 7297648 T 0.08106718
## Arrest.fctr.predict.Final.myMFO_classfr
## 156512 F
## 155558 F
## 111069 F
## 78857 F
## 55651 F
## 45211 F
## Arrest.fctr.predict.Final.myMFO_classfr.accurate
## 156512 FALSE
## 155558 FALSE
## 111069 FALSE
## 78857 FALSE
## 55651 FALSE
## 45211 FALSE
## Arrest.fctr.predict.Final.myMFO_classfr.error
## 156512 -0.4189328
## 155558 -0.4189328
## 111069 -0.4189328
## 78857 -0.4189328
## 55651 -0.4189328
## 45211 -0.4189328
## ID Arrest.fctr Arrest.fctr.predict.Final.myMFO_classfr.prob
## 714 8931395 T 0.08106718
## 654 8932085 T 0.08106718
## 636 8932629 T 0.08106718
## 264 8944096 T 0.08106718
## 98 8948698 T 0.08106718
## 71 8949258 T 0.08106718
## Arrest.fctr.predict.Final.myMFO_classfr
## 714 F
## 654 F
## 636 F
## 264 F
## 98 F
## 71 F
## Arrest.fctr.predict.Final.myMFO_classfr.accurate
## 714 FALSE
## 654 FALSE
## 636 FALSE
## 264 FALSE
## 98 FALSE
## 71 FALSE
## Arrest.fctr.predict.Final.myMFO_classfr.error
## 714 -0.4189328
## 654 -0.4189328
## 636 -0.4189328
## 264 -0.4189328
## 98 -0.4189328
## 71 -0.4189328
if (glb_is_classification && glb_is_binomial) {
submit_df <- glb_newobs_df[, c(glb_id_vars,
paste0(glb_rsp_var_out, glb_fin_mdl_id, ".prob"))]
names(submit_df)[2] <- "Probability1"
} else submit_df <- glb_newobs_df[, c(glb_id_vars,
paste0(glb_rsp_var_out, glb_fin_mdl_id))]
write.csv(submit_df,
paste0(gsub(".", "_", paste0(glb_out_pfx, glb_fin_mdl_id), fixed=TRUE),
"_submit.csv"), row.names=FALSE)
# print(orderBy(~ -max.auc.OOB, glb_models_df[, c("model_id",
# "max.auc.OOB", "max.Accuracy.OOB")]))
if (glb_is_classification && glb_is_binomial)
print(glb_models_df[glb_models_df$model_id == glb_sel_mdl_id,
"opt.prob.threshold.OOB"])
## [1] 0.5
print(sprintf("glb_sel_mdl_id: %s", glb_sel_mdl_id))
## [1] "glb_sel_mdl_id: MFO.myMFO_classfr"
print(sprintf("glb_fin_mdl_id: %s", glb_fin_mdl_id))
## [1] "glb_fin_mdl_id: Final.myMFO_classfr"
print(dim(glb_fitobs_df))
## [1] 134148 34
print(dsp_models_df)
## model_id max.Accuracy.OOB max.auc.OOB max.Kappa.OOB
## 1 MFO.myMFO_classfr 0.91892926 0.5000000 NA
## 3 Max.cor.Y.cv.0.rpart 0.91892926 0.5000000 NA
## 5 Max.cor.Y.rpart 0.91892926 0.5000000 NA
## 12 All.X.no.rnorm.rpart 0.91892926 0.5000000 NA
## 6 Max.cor.Y.glm 0.77118954 0.6120104 NA
## 7 Max.cor.Y.TmSrs.poly.glm 0.74901292 0.6132807 NA
## 8 Interact.High.cor.Y.glm 0.74772581 0.6115971 NA
## 9 Low.cor.X.glm 0.73970744 0.6215335 NA
## 10 All.X.glm 0.73962048 0.6216375 NA
## 11 All.X.bayesglm 0.73934218 0.6216391 NA
## 4 Max.cor.Y.cv.0.cp.0.rpart 0.72130520 0.5969728 NA
## 2 Random.myrandom_classfr 0.08107074 0.4980179 0
## min.aic.fit opt.prob.threshold.OOB
## 1 NA 0.5
## 3 NA 0.5
## 5 NA 0.5
## 12 NA 0.5
## 6 73712.38 0.1
## 7 73598.81 0.1
## 8 73721.34 0.1
## 9 73348.87 0.1
## 10 73352.18 0.1
## 11 73354.22 0.1
## 4 NA 0.1
## 2 NA 0.0
if (glb_is_classification) {
print(sprintf("%s OOB confusion matrix & accuracy: ", glb_sel_mdl_id))
print(t(confusionMatrix(glb_OOBobs_df[, paste0(glb_rsp_var_out, glb_sel_mdl_id)],
glb_OOBobs_df[, glb_rsp_var])$table))
# tmp_OOBobs_df <- glb_OOBobs_df[, c("myCategory", predct_accurate_var_name)]
# names(tmp_OOBobs_df)[2] <- "accurate.OOB"
# aOOB_ctgry_df <- mycreate_xtab_df(tmp_OOBobs_df, names(tmp_OOBobs_df))
# aOOB_ctgry_df[is.na(aOOB_ctgry_df)] <- 0
# aOOB_ctgry_df <- mutate(aOOB_ctgry_df,
# .n.OOB = accurate.OOB.FALSE + accurate.OOB.TRUE,
# max.accuracy.OOB = accurate.OOB.TRUE / .n.OOB)
# intersect(names(glb_ctgry_df), names(aOOB_ctgry_df))
# glb_ctgry_df <- merge(glb_ctgry_df, aOOB_ctgry_df, all=TRUE)
# print(orderBy(~-accurate.OOB.FALSE, glb_ctgry_df))
}
## [1] "MFO.myMFO_classfr OOB confusion matrix & accuracy: "
## Prediction
## Reference F T
## F 52832 0
## T 4661 0
dsp_myCategory_conf_mtrx <- function(myCategory) {
print(sprintf("%s OOB::myCategory=%s confusion matrix & accuracy: ",
glb_sel_mdl_id, myCategory))
print(t(confusionMatrix(
glb_OOBobs_df[glb_OOBobs_df$myCategory == myCategory,
paste0(glb_rsp_var_out, glb_sel_mdl_id)],
glb_OOBobs_df[glb_OOBobs_df$myCategory == myCategory, glb_rsp_var])$table))
print(sum(glb_OOBobs_df[glb_OOBobs_df$myCategory == myCategory,
predct_accurate_var_name]) /
nrow(glb_OOBobs_df[glb_OOBobs_df$myCategory == myCategory, ]))
err_ids <- glb_OOBobs_df[(glb_OOBobs_df$myCategory == myCategory) &
(!glb_OOBobs_df[, predct_accurate_var_name]), glb_id_vars]
OOB_FNerr_df <- glb_OOBobs_df[(glb_OOBobs_df$UniqueID %in% err_ids) &
(glb_OOBobs_df$Popular == 1),
c(
".clusterid",
"Popular", "Headline", "Snippet", "Abstract")]
print(sprintf("%s OOB::myCategory=%s FN errors: %d", glb_sel_mdl_id, myCategory,
nrow(OOB_FNerr_df)))
print(OOB_FNerr_df)
OOB_FPerr_df <- glb_OOBobs_df[(glb_OOBobs_df$UniqueID %in% err_ids) &
(glb_OOBobs_df$Popular == 0),
c(
".clusterid",
"Popular", "Headline", "Snippet", "Abstract")]
print(sprintf("%s OOB::myCategory=%s FP errors: %d", glb_sel_mdl_id, myCategory,
nrow(OOB_FPerr_df)))
print(OOB_FPerr_df)
}
#dsp_myCategory_conf_mtrx(myCategory="OpEd#Opinion#")
#dsp_myCategory_conf_mtrx(myCategory="Business#Business Day#Dealbook")
#dsp_myCategory_conf_mtrx(myCategory="##")
if (glb_is_classification) {
print("FN_OOB_ids:")
print(glb_OOBobs_df[glb_OOBobs_df$UniqueID %in% FN_OOB_ids,
grep(glb_rsp_var, names(glb_OOBobs_df), value=TRUE)])
print(glb_OOBobs_df[glb_OOBobs_df$UniqueID %in% FN_OOB_ids,
glb_txt_vars])
print(dsp_vctr <- colSums(glb_OOBobs_df[glb_OOBobs_df$UniqueID %in% FN_OOB_ids,
setdiff(grep("[HSA].", names(glb_OOBobs_df), value=TRUE),
union(myfind_chr_cols_df(glb_OOBobs_df),
grep(".fctr", names(glb_OOBobs_df), fixed=TRUE, value=TRUE)))]))
}
## [1] "FN_OOB_ids:"
## [1] Arrest.fctr
## [2] Arrest.fctr.predict.MFO.myMFO_classfr.prob
## [3] Arrest.fctr.predict.MFO.myMFO_classfr
## [4] Arrest.fctr.predict.MFO.myMFO_classfr.accurate
## <0 rows> (or 0-length row.names)
## data frame with 0 columns and 0 rows
## Arrest CommunityArea Date.POSIX
## 0 0 0
dsp_hdlpfx_results <- function(hdlpfx) {
print(hdlpfx)
print(glb_OOBobs_df[glb_OOBobs_df$Headline.pfx %in% c(hdlpfx),
grep(glb_rsp_var, names(glb_OOBobs_df), value=TRUE)])
print(glb_newobs_df[glb_newobs_df$Headline.pfx %in% c(hdlpfx),
grep(glb_rsp_var, names(glb_newobs_df), value=TRUE)])
print(dsp_vctr <- colSums(glb_newobs_df[glb_newobs_df$Headline.pfx %in% c(hdlpfx),
setdiff(grep("[HSA]\\.", names(glb_newobs_df), value=TRUE),
union(myfind_chr_cols_df(glb_newobs_df),
grep(".fctr", names(glb_newobs_df), fixed=TRUE, value=TRUE)))]))
print(dsp_vctr <- dsp_vctr[dsp_vctr != 0])
print(glb_newobs_df[glb_newobs_df$Headline.pfx %in% c(hdlpfx),
union(names(dsp_vctr), myfind_chr_cols_df(glb_newobs_df))])
}
#dsp_hdlpfx_results(hdlpfx="Ask Well::")
# print("myMisc::|OpEd|blank|blank|1:")
# print(glb_OOBobs_df[glb_OOBobs_df$UniqueID %in% c(6446),
# grep(glb_rsp_var, names(glb_OOBobs_df), value=TRUE)])
# print(glb_OOBobs_df[glb_OOBobs_df$UniqueID %in% FN_OOB_ids,
# c("WordCount", "WordCount.log", "myMultimedia",
# "NewsDesk", "SectionName", "SubsectionName")])
# print(mycreate_sqlxtab_df(glb_allobs_df[sel_obs(Headline.contains="[Vv]ideo"), ],
# c(glb_rsp_var, "myMultimedia")))
# dsp_chisq.test(Headline.contains="[Vi]deo")
# print(glb_allobs_df[sel_obs(Headline.contains="[Vv]ideo"),
# c(glb_rsp_var, "Popular", "myMultimedia", "Headline")])
# print(glb_allobs_df[sel_obs(Headline.contains="[Ee]bola", Popular=1),
# c(glb_rsp_var, "Popular", "myMultimedia", "Headline",
# "NewsDesk", "SectionName", "SubsectionName")])
# print(subset(glb_feats_df, !is.na(importance))[,
# c("is.ConditionalX.y",
# grep("importance", names(glb_feats_df), fixed=TRUE, value=TRUE))])
# print(subset(glb_feats_df, is.ConditionalX.y & is.na(importance))[,
# c("is.ConditionalX.y",
# grep("importance", names(glb_feats_df), fixed=TRUE, value=TRUE))])
# print(subset(glb_feats_df, !is.na(importance))[,
# c("zeroVar", "nzv", "myNearZV",
# grep("importance", names(glb_feats_df), fixed=TRUE, value=TRUE))])
# print(subset(glb_feats_df, is.na(importance))[,
# c("zeroVar", "nzv", "myNearZV",
# grep("importance", names(glb_feats_df), fixed=TRUE, value=TRUE))])
print(orderBy(as.formula(paste0("~ -", glb_sel_mdl_id, ".importance")), glb_featsimp_df))
## MFO.myMFO_classfr.importance importance
## .rnorm NaN NaN
## Final.myMFO_classfr.importance
## .rnorm NaN
print(setdiff(names(glb_trnobs_df), names(glb_allobs_df)))
## character(0)
for (col in setdiff(names(glb_trnobs_df), names(glb_allobs_df)))
# Merge or cbind ?
glb_allobs_df[glb_allobs_df$.src == "Train", col] <- glb_trnobs_df[, col]
print(setdiff(names(glb_fitobs_df), names(glb_allobs_df)))
## character(0)
print(setdiff(names(glb_OOBobs_df), names(glb_allobs_df)))
## character(0)
for (col in setdiff(names(glb_OOBobs_df), names(glb_allobs_df)))
# Merge or cbind ?
glb_allobs_df[glb_allobs_df$.lcn == "OOB", col] <- glb_OOBobs_df[, col]
print(setdiff(names(glb_newobs_df), names(glb_allobs_df)))
## character(0)
if (glb_save_envir)
save(glb_feats_df, glb_allobs_df,
#glb_trnobs_df, glb_fitobs_df, glb_OOBobs_df, glb_newobs_df,
glb_models_df, dsp_models_df, glb_models_lst, glb_model_type,
glb_sel_mdl, glb_sel_mdl_id,
glb_fin_mdl, glb_fin_mdl_id,
file=paste0(glb_out_pfx, "prdnew_dsk.RData"))
rm(submit_df, tmp_OOBobs_df)
## Warning in rm(submit_df, tmp_OOBobs_df): object 'tmp_OOBobs_df' not found
# tmp_replay_lst <- replay.petrisim(pn=glb_analytics_pn,
# replay.trans=(glb_analytics_avl_objs <- c(glb_analytics_avl_objs,
# "data.new.prediction")), flip_coord=TRUE)
# print(ggplot.petrinet(tmp_replay_lst[["pn"]]) + coord_flip())
glb_chunks_df <- myadd_chunk(glb_chunks_df, "display.session.info", major.inc=TRUE)
## label step_major step_minor bgn end elapsed
## 16 predict.data.new 9 0 2683.412 3493.491 810.08
## 17 display.session.info 10 0 3493.492 NA NA
Null Hypothesis (\(\sf{H_{0}}\)): mpg is not impacted by am_fctr.
The variance by am_fctr appears to be independent. #{r q1, cache=FALSE} # print(t.test(subset(cars_df, am_fctr == "automatic")$mpg, # subset(cars_df, am_fctr == "manual")$mpg, # var.equal=FALSE)$conf) # We reject the null hypothesis i.e. we have evidence to conclude that am_fctr impacts mpg (95% confidence). Manual transmission is better for miles per gallon versus automatic transmission.
## label step_major step_minor bgn end elapsed
## 16 predict.data.new 9 0 2683.412 3493.491 810.080
## 10 fit.models 7 0 152.068 818.732 666.664
## 15 fit.data.training 8 1 2032.880 2683.412 650.532
## 11 fit.models 7 1 818.733 1466.720 647.988
## 12 fit.models 7 2 1466.721 1796.105 329.384
## 13 fit.models 7 3 1796.106 2021.000 224.894
## 2 inspect.data 2 0 15.445 109.868 94.423
## 8 select.features 5 0 124.625 151.653 27.028
## 14 fit.data.training 8 0 2021.001 2032.879 11.879
## 3 cleanse.data 2 1 109.869 120.927 11.058
## 1 import.data 1 0 7.779 15.444 7.665
## 4 manage.missing.data 2 2 120.928 122.544 1.616
## 6 extract.features 3 0 122.568 123.973 1.405
## 7 cluster.data 4 0 123.974 124.625 0.651
## 9 partition.data.training 6 0 151.653 152.067 0.414
## 5 encode.data 2 3 122.545 122.568 0.023
## duration
## 16 810.079
## 10 666.664
## 15 650.532
## 11 647.987
## 12 329.384
## 13 224.894
## 2 94.423
## 8 27.028
## 14 11.878
## 3 11.058
## 1 7.665
## 4 1.616
## 6 1.405
## 7 0.651
## 9 0.414
## 5 0.023
## [1] "Total Elapsed Time: 3,493.491 secs"
## label step_major step_minor bgn end elapsed
## 3 fit.models_1_bayesglm 3 0 1081.462 1281.143 199.682
## 2 fit.models_1_glm 2 0 893.439 1081.461 188.022
## 4 fit.models_1_rpart 4 0 1281.145 1466.712 185.567
## 1 fit.models_1_bgn 1 0 893.424 893.438 0.014
## duration
## 3 199.681
## 2 188.022
## 4 185.567
## 1 0.014
## [1] "Total Elapsed Time: 1,466.712 secs"
## R version 3.2.0 (2015-04-16)
## Platform: x86_64-apple-darwin13.4.0 (64-bit)
## Running under: OS X 10.10.3 (Yosemite)
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## attached base packages:
## [1] tcltk grid parallel stats graphics grDevices utils
## [8] datasets methods base
##
## other attached packages:
## [1] gdata_2.16.1 arm_1.8-5 lme4_1.1-7 Rcpp_0.11.6
## [5] Matrix_1.2-1 MASS_7.3-40 rpart.plot_1.5.2 rpart_4.1-9
## [9] ROCR_1.0-7 gplots_2.17.0 dplyr_0.4.1 plyr_1.8.2
## [13] zoo_1.7-12 XML_3.98-1.2 sqldf_0.4-10 RSQLite_1.0.0
## [17] DBI_0.3.1 gsubfn_0.6-6 proto_0.3-10 reshape2_1.4.1
## [21] caTools_1.17.1 doMC_1.3.3 iterators_1.0.7 foreach_1.4.2
## [25] doBy_4.5-13 survival_2.38-1 caret_6.0-47 ggplot2_1.0.1
## [29] lattice_0.20-31
##
## loaded via a namespace (and not attached):
## [1] class_7.3-12 gtools_3.5.0 assertthat_0.1
## [4] digest_0.6.8 BradleyTerry2_1.0-6 chron_2.3-45
## [7] coda_0.17-1 evaluate_0.7 e1071_1.6-4
## [10] lazyeval_0.1.10 minqa_1.2.4 SparseM_1.6
## [13] car_2.0-25 nloptr_1.0.4 rmarkdown_0.6.1
## [16] labeling_0.3 splines_3.2.0 stringr_1.0.0
## [19] munsell_0.4.2 compiler_3.2.0 mgcv_1.8-6
## [22] htmltools_0.2.6 nnet_7.3-9 codetools_0.2-11
## [25] brglm_0.5-9 bitops_1.0-6 nlme_3.1-120
## [28] gtable_0.1.2 magrittr_1.5 formatR_1.2
## [31] scales_0.2.4 KernSmooth_2.23-14 stringi_0.4-1
## [34] RColorBrewer_1.1-2 tools_3.2.0 abind_1.4-3
## [37] pbkrtest_0.4-2 yaml_2.1.13 colorspace_1.2-6
## [40] knitr_1.10.5 quantreg_5.11